操作系统部分知识点整理

今天看了一下北京工业大学操作系统这门课的期末试卷,感觉还不错,考的比较全面,覆盖了绝大部分知识点。

以下是涉及到的部分知识点:

一、分时与实时操作系统

 

分时操作系统(Time-sharing Operating System)

简介

在多道批处理系统的时代,用户对新系统的需求具体表现在两个方面。一是人机交互,每当程序员写好一个程序时,都需要上机调试,由于程序难免存在错误,因此用户希望能像早期使用计算机一样独占全机资源并对它进行直接控制,以便能方便地对程序中的错误进行修改,意即人机交互。二是共享主机,在20世纪60年代计算机还十分昂贵,一台计算机要同时供多个用户共享使用,每个用户在共享一台计算机时都希望能像独占时一样,不仅可以随时与计算机进行交互,而且还不会感觉到其他用户的存在。
分时系统在这样的背景下诞生,因此分时系统是指在一台主机上连接了多个终端并由此组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统最典型的例子就是UNIX和Linux,它们可以同时连接多个终端,并且每隔一段时间重新扫描进程,重新分配进程的优先级,动态分配系统资源。

 

原理

分时操作系统将系统处理机时间与内存空间按一定的时间间隔(划分时间片),采用轮转运行方式轮流地切换给各终端用户的程序使用(例如规定每个作业每次只能运行一个时间片)。由于时间间隔很短,每个用户就感觉像独占全机一样,这样就解决了主机共享问题。而对于人机交互,为实现用户键入命令后能对自己的作业及其运行及时控制或修改,各个用户的作业都必须留在内存中(作业在磁盘上是不能运行的),用时间片进行切换管理。分时操作系统的特点是可有效增加资源的使用率,支持人机交互与资源共享。例如UNIX系统就采用了剥夺式动态优先的CPU调度以支持分时操作。
简而言之,分时操作系统的核心原理在于将作业直接放入内存,并引入了时间片的概念,采用轮转运行的方式,规定每个作业每次只能运行一个时间片,然后就暂停该作业并立即调度下一个作业运行。在不长的时间内使所有的作业都执行一个时间片的时间,便可以使每个用户都能及时地与自己的作业进行交互,从而使用户的请求得到及时响应。这样就解决了在分时系统中最重要的及时接收、及时处理问题。

 

特征

与其前辈批处理系统相比,分时系统有如下几个特点:
·多路性:系统允许将多台终端同时连接到一台主机上,并按分时原则为每个终端分配系统资源,提高资源利用率,降低使用费用。
·独立性:各终端之间相互独立,互不干扰,每个用户都感觉像一人独占主机一样。
·及时性:用户的请求能在很短的时间内就得到响应。
·交互性:用户可通过终端与系统进行人机对话,例如请求多方面的服务。

 

实时操作系统(Real Time Operating System)

 

简介

在某些领域(如军事、工业、多媒体等)要求系统能够实时响应并安全可靠,实时操作系统在这样的需求下诞生。因此实时操作系统是指是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
实时操作系统的处理机制与分时操作系统在底层原理上相同,但实时操作系统有其独特的要求,例如在规定时间内完成特定功能等。实时操作系统有为特定应用设计的也有通用的,很多通用的系统,例如IBM的OS/390、微软的Windows NT等,都有实时系统的特征。因此即使一个操作系统不是严格意义上的实时系统,它们也能解决一部分实时应用问题,故不必过于纠结。

 

实时任务

实时操作系统必须能在一定时间限制内解决实时任务,这些任务通常与某个外部设备有关,能反应或控制相应的外部设备,具有一定紧迫性。实时任务从不同角度有着不同的分类:
按任务执行时是否呈现周期性变化可将实时任务分为周期性实时任务和非周期性实时任务。对于周期性实时任务,外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环之星,以便周期性地控制某外部设备。对于非周期性实时任务,外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间,这个截止时间可分为开始截止时间和完成截止时间。
按对截止时间的要求来划分,可将实时任务分为硬实时任务(Hard Real-time Task)和软实时任务(Soft Real-time Task)。硬实时任务是指系统必须满足任务对截止时间的要求,否则将会出现错误,带来难以预测的后果(工业和武器控制系统常用)。软实时任务对截止时间的要求不那么严格,即使偶尔出现错过截止时间,对系统影响也不会太大(信息查询系统和多媒体系统等常用)。
分时系统与实时系统比较
·多路性:两者都具有多路性。软实时与分时系统中的多路性表现为系统按分时原则为多个任务终端用户服务;硬实时则指系统周期性地对多路现场信息进行采集以及对多个对象或多个执行机构进行控制。
·独立性:两者都具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。
·及时性:实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。
·交互性:实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。

 

 

 

·可靠性:分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

二、操作系统之快表

 

在操作系统中引入快表是为了加快地址映射速度。

在虚拟页式存储管理中设置了快表,用于保存正在运行进程页表的子集,通常快表存放在(高速缓冲存储器Cache)中。

1)快表 页表之区别

页表指出逻辑地址中的页号与所占主存块号的对应关系。

作用:页式存储管理在用动态重定位方式装入作业时,要利用页表做地址转换工作。

快表就是存放在高速缓冲存储器的部分页表。它起页表相同的作用。由于采用页表做地址转换,读写内存数据时CPU要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。

 

      2)地址转换流程

 

  1. 1、按照逻辑地址中的页号查快表

  2. 2、若该页已存在快表中,则由页架号和单元号形成绝对地址

  3. 3、若该页不在快表中,则再查主存页表,与单元号形成绝对地址,同时将该页登记到快表中

  4. 4、当快表填满后,又要登记新页时,则需要按照一定替换策略淘汰一个旧的登记项

 

三、地址重定位

(1)动态定位

动态重定位即在程序运行过程中要访问数据时再进行逻辑地址物理地址的变换(即在逐条指令执行时完成地址映射

一般为了提高效率,此工作由硬件地址映射机制来完成。硬件支持,软硬件结合完成) 硬件上需要一对寄存器的支持。基地址寄存器在这里称为重定位寄存器。用户进程所生成的地址在送交内存之前,都将加上重定位寄存器的值。例如,如果基地址为14000,那么用户对位置346的访问将动态地重定位为位置14346。

程序放在不连续的实际物理空间中,要进行逻辑地址到物理地址的转换,实现动态重定位一般需要段页式存储管理,页式存储管理用的不是寄存器,使用的是称为page table(页表)的数据结构page table记录了所有逻辑地址到物理地址的转换信息,进程切换的时候需要冲洗硬件上的page table 。

 

(2)静态定位

静态重定位:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次完成的,以后不再改变,故称为静态重定位。

四、其他

(1)进程在执行中发生了缺页中断,经操作系统处理后,应让其执行被中断的那一条指令。

缺页中断是访存指令引起的,说明所要访问页面不在内存中,在进行缺页中断处理后,调入所要访问的页后,访存指令显然应该重新执行。

 

(2)

在操作系统的下列各个功能模块中,哪一个不需要有硬件的支持?(  A ) A、进程调度 B、时钟管理 C、地址映射 D、中断系统

(3)

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

越来越胖的GuanRunwei

祝老板们身体健康,财源广进!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值