1、某指令流水线由5段组成,各段所需要的时间依次如下: t、3t、t、2t、t,如果连续执行10条指令,则吞吐率为?
第一条指令 -(---)-(--)-
第二条指令-(---)-(--)-
第三条指令-(---)-(--)-
因为 是流水线,所以时间为3t的指令不能重叠,所以每隔3t时间开始一条指令,当第一条指令花费8t时间后,每隔3t完成一条指令,第10条指令完成的时间是:8+3*9=35t.
吞吐率为:10条指令/花费时间35t=10/35
弄懂两个概念就好做了:流水线时间和吞吐率 流水线时间计算有个公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段 //8t+9*3t=35t 吞吐率也有个公式:指令条数除以流水线时间// 10/35t
弄懂两个概念就好做了:流水线时间和吞吐率
流水线时间计算有个公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段 // 8t+9*3t=35t
吞吐率也有个公式:指令条数除以流水线时间 // 10/35t
2、分时操作系统将系统处理机 时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的使用率。一般情况下,分时系统中处于就绪状态的进程最多。
3、从中断事件的性质出发,中断可以分为两大类:
强迫性中断事件:包括硬件故障中断,程序性中断,外部中断和输入输出中断等。
自愿性中断事件:是由正在运行的进程执行一条访管指令用以请求系统调用而引起的中断,这种中断也称为"访管中断"。
一般情况下,优先级的高低顺序依次为:硬件故障中断、自愿中断、程序性中断,外部中断和输入输出中断。
自愿中断的断点是确定的,而强迫性中断的断点可能发生在任何位置。
4、静态变量的修饰关键字:static,又称静态全局变量。
静态变量属于静态存储方式,但是属于静态存储方式的变量不一定就是静态变量。
全局区在内存中所占的位置:
文章图片
5、TCP连接释放过程
通过设置FIN为来表示释放连接
当一方释放连接(发送FIN)时只是表明这一方不会在此次连接中发送数据了。另一方还是可以发送数据的
只有双方均释放连接后,该连接才被释放
释放连接采用四次挥手机制
6、如果因为时间片用完而被暂停执行 ,则进程由执行->就绪
如果因为某事件而使进程执行受阻,如访问某临界资源,而该资源正被其他进程访问,则进程由执行->等待
文章图片
7、在进程的一次运行过程中,其代码的执行序列是确定的,即使有循环或转移,对于进程来讲,其运行的轨迹也是确定的,所以对于这样一个确定的运行轨迹,进程自身是可以控制自身前进或停止的,例如可以休眠10秒再唤醒等,但是,当这样的进程存在于一个并发系统中时,这种确定性就被打破了。由于系统中存在有大量的可运行的进程,操作系统为了提高计算机的效率,会根据用户的需求和系统资源的数量来自动地进行调度和切换,以保证系统高效地运行。此时,进程由于被调度,打破了原来的固有执行速度,走走停停,因此,进程的相对速度就不受进程自己的控制,而是取决于进程调度的策略。不确定性也是并发系统的一个特征。
8、消息传递部分为三个功能级第一级为数据链路功能级,第二级是信令链路功能级,第三级是信令网功能级;
9、在Unix系统中内存就绪就是活动就绪,辅存就绪是静止就绪,静止就绪需要转换到活动就绪,才能在时间片到来而进入到运行状态。
10、在A类地址中,10.0.0.0到10.255.255.255是私有地址。在B类地址中,172.16.0.0到172.31.255.255是私有地址。在C类地址中,192.168.0.0到192.168.255.255是私有地址。
11、通常把进程作为分配资源的基本单位,而把线程作为CPU调度和分配的基本单位。
12、对于IP地址130.63.160.2,MASK为255.255.255.0,子网号为
130.63.160.2是B类IP地址
B类IP地址前16位(两个字节)为网络号,后16位是主机号
划分子网就是将主机号中的一部分拿出来当做子网号
这里子网掩码为255.255.255.0也就是把前三个字节当成了网络号
与B类IP默认的前两个字节作为网络号相比,第三个字节就是子网号,就是160
所以这个ip的网络号是130.63子网号是 160主机号是2
13、对于单缓冲:
假定从磁盘把一块数据输入到缓冲区的时间为T,操作系统将该缓冲区中的数据传送到用户区的时间为M,而CPU对这一块数据处理的时间为 C。由于T和C是可以并行的,当T>C时,系统对每一块数据的处理时间为M十T,反之则为M+C,故可把系统对每一块数据的处理时间表示为Max(C, T)+M。
对于双缓冲:
系统处理一块数据的时间可以粗略地认为是MAC(C, T)。如果C
14、一个进程释放一种资源将有可能导致一个或几个进程由阻塞变就绪
,资源腾出来了,在等待的进程也就是阻塞的进程就应该进入就绪状态等待被执行
15、物理地址的计算公式为:
物理地址 =内存块号*块长+页内地址
用户空间为16个页面,可知页号部分占4位;页长为1KB,可知页内地址占10位。
102B(H) = 00 01 0000 0010 1011 (b).
页内地址为:00 0010 1011(b).
块号为2(d) = 0010(b),块长为页长
最后的物理地址实际上是把内存块号当做高位地址,页内地址当做低位地址
0010 00 0010 1011= 082B
16、在请求分页存储管理方案中,若某用户空间为16个页面,页长1KB,现有页表如下,则逻辑地址102B(H)所对应的物理地址为()。
页号 |
块号 |
0 |
1 |
1 |
5 |
2 |
3 |
3 |
7 |
4 |
2 |
用户空间为16个页面,可知页号部分占4(16 = 2^4)位;页长为1KB,可知页内地址占10(1kb = 2 ^ 10)位。
102B(H) = 00 01 00 00 0010 1011 (b).
页内地址为:00 0010 1011(b).
页号为:0100(b) = 4(d)。查表可知块号为2(d) = 0010(b).
故对应物理地址为: 0000 1000 0010 1011(b)= 082B(H)
17.、主存与辅存的区别:
概括的说,CPU对所需要的数据进行计算时,要求很高的存储速度,且不需要能永久保存这些数据,高速存储设备的成本很高。
但其他设备对存储速度的要求不像CPU这么高,一般要求永久保存数据。一般低速的存储设备就可以满足,且低速的存储成本也低。
所以有主存和辅存之分:
内存(主存)直接给CPU提供存储,高速,低容量,价格贵,不能永久保存数据,断电消失,需要从辅存中重新调入数据。
外存(辅存)给主存提供数据,低速,大容量,价格低,能永久保存数据。
所以更高缓存的CPU和更大的内存能够大大提升系统的性能。
常见主存有:CPU的高速缓存,电脑的内存条。
常见辅存有:硬盘、光盘、U盘、磁盘、移动硬盘等等。
18、什么是虚拟存储:
根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制。也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。对用户来说,好像计算机系统具有一个容量很大的主存储器,称为“虚拟存储器”。
虚拟存储(StorageVirtualization)是指将多个不同类型、独立存在的物理存储体,通过软、硬件技术,集成转化为一个逻辑上的虚拟的存储单元,集中管理供用户统一使用。这个虚拟逻辑存储单元的存储容量是它所集中管理的各物理存储体的存储量的总和,而它具有的访问带宽则在一定程度上接近各个物理存储体的访问带宽之和。
19、实现虚拟存储的目的是扩充主存容量
20.、从资源管理的角度看,进程调度属于处理机管理
首先硬件机制上如何保证操作系统的内核调度进程可以一定的时机可以获得CPU,来进行进程调度? 通常我们会在软件层次上找答案.其实,是通过在CPU的硬件处理机制上实现的.CPU在执行完每个指令的周期后回扫描CPU的内部的一个中断寄存器,查询是否存在中断发生,若没有,则继续执行指令; 若有,则保存当前的CPU工作环境,跳转到中断服务列程,CPU执行中断服务程序,在推出中断后,跳转到内核调度程序(这是个内核程序,但是是对所有的进程共享的,包括用户进程); 此时,内核调度程序占据CPU,进行进程的调度,以 决定下个将占用CPU的进程.
21、有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是1至-(m-1)
一个信号量对应一个临界资源,初始时有资源,所以信号量初始值一般都是1当有进程占用临界区时,-1 当信号量 <= 0 代表已有进程占用临界m个进程,最多-(m -1)代表有m -1个进程在等待临界区资源,即处于等待队列当信号量 > 0即 = 1,代表没有进程进入临界区
22、X86系列 CPU都是 little-endian(低地址低字节)的网络发送数据时,采用大端(低地址高字节),先发送高位再发送低位
23、进程A读取B进程中的某个变量(非共享内存),可行的方式有
进程向消息队列写入一个包含变量内容的消息,B进程从队列中读出(消息队列)
通过本地环路通信(本地socket)
如果A、B 非亲属,那么A通过命名管道把这个变量的地址发给B进程(管道)
24、HTTP中的POST和GET在下列哪些方面有区别?
文章图片
25、哪些特性是为多道操作系统特意准备的?
如果不是多道的操作系统,也就是单任务处理的,那么一个一个的执行就好了,当出现多道的时候,就会出现优先级的问题,因此特权指令是为了提供在优先级不同的条件下,用户状态的切换,跳转指令就是从我们的程序跳转到另一个了,可能会感觉时钟会有用,给每一个程序分配一定的时间,让其运行,但是这个并不是必须的,因为可以根据优先级来采取抢占式的执行,所以时钟不是特别提供的,特权指令和跳转指令在单道批处理下是不能够起到作用的
26、集中式总线请求方案有三种,定时查询、串行连接和独立请求,定时查询和串行连接所有部件都用一条"总线请求"线,但是定时查询是由CPU去定时查询总线上的部件,而串行连接是部件去请求CPU。独立请求每个部件均有一条 "总线请求"线。
串行链接应该就是链式,是一个一个的查询下去,通过优先级进行抉择
定时查询是所以设备都挂在总线上,谁用谁要,通过地址线进行抉择
【牛客网 7-27 网络基础 操作系统 编译与体系结构 30题知识点总结】独立查询是,每个设备都有两条线,cpu抉择
推荐阅读
- 笔记|如何在Windows11安装安卓子系统()
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 2021年下半年《信息系统项目管理师》真题
- 个人理解|【C语言基础之类型转换】
- 学习分享|【C语言函数基础】
- 个人理解|【C语言实现井字棋及电脑落子优化】
- Python|蓝桥杯 平面切割 Python
- Python|Python 每日一练 二分查找 搜索旋转排序数组 详解
- 笔记|这是一个关于face_recognition和dlib库的安装(亲测有用,毕竟我代码都写出来了)
- 信令模式与非信令模式