(考研复试)操作系统笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1:操作系统的目标:提高资源利用率,提高系统吞吐量,使用户使用更方便,兼容新的计算机硬件和软件。

2:操作系统的作用:用户和计算机硬件之间的接口,使用户方便的操纵硬件,计算机系统的管理者,对计算机资源进行抽象。

3:计算机系统的发展:人工操作方式(穿孔卡片),单道批处理系统(每次只从磁盘中调入一个程序进内存),多道批处理系统(调入多个程序,CPU可以切换),分时操作系统(将一台主机给多个用户使用)实时操作系统(响应快,同时面对大量的远程终端)。

4:操作系统特点:并发,共享,虚拟(空分,时分),异步。5:操作系统的功能:CPU管理(进程控制,同步,通信,调度),存储器管理(内存分配,内存保护,地址映射,内存扩充)设备管理(缓冲管理,设备分配,设备处理)文件管理(存储管理,目录管理,读写保护管理)接口(用户接口管理,程序接口管理)

6:操作系统结构:模块化操作系统,分层式操作系统,C/S 操作系统(分布式),微内核结构(建立在前三者的基础上,微内核只提高“最基本”的服务,进程调度、进程间通信、存储管理、处理I/O设备。其他服务,如文件管理、网络支持等通过接口连到微内核,微内核具有良好的移植性)。

7:传统操作系统中,进程是资源分配和独立运行的基本单

位。

8:为了并发才引入进程。

9:进程控制块PCB:是一个记录型数据结构,记录了操作系统所需的用户描述进程的当前状况和控制进程运行的全部信息,使一个在多道环境环境下不能独立运行的程序成为一个可以独立运行的基本单位。系统创建一个进程的时候就要顺带着创建PCB,OS要调用一个进程的时候就要先查看PCB,系统将PCB组织成若干个链队列或索引表,PCB中有进程标识符,处理机状态,进程调度信息,进程控制信息等。10:进程的特性:动态,并发,独立(独立运行,独立分配资源,独立接受调度),异步(不可预知的速度前进)。11:进程的三种基本状态:就绪,阻塞,执行(就绪到执行到阻塞再回到就绪,执行可以直接回到就绪),此外还有挂起,创建,终止。

12:进程的创建:申请PCB,为新进程分配资源(子进程可以继承父进程,比如父进程打开的文件,和父进程的缓冲区等),初始化PCB,把新的进程插入队列。

13:进程的终止:找出PCB,读出进程状态,若进程在执行,就终止进程,若进程有子孙进程,还要把子进程终止。收回资源,移出PCB。

14:进程的阻塞:停止执行,PCB插入阻塞队列,CPU给另外一个就绪进程。

15:进程的唤醒:从阻塞队列中移出,PCB插入就绪列队中。16:临界资源是指每次仅允许一个进程访问的资源,每个进程中访问临界资源的那段代码叫做临界区。

17:整形信号量:用S表示资源数目,一个wait就资源减一,一个signal就资源加一。其中执行wait前如果资源数小于0,就要一直等待下去,用while循环。

18:记录型信号量:防止进程一直while而等待,记录型信号量先S-1,然后判断S如果小于0了就调用block阻塞。于是就会有很多进程被阻塞,于是创建一个进程链表指针,链接阻塞进程。

19:AND型信号量:一个进程需要多个临界资源,AND信号量控制多个临界资源,只有当所有的临界资源的S都大于1的时候,才允许执行并所有的S都减一。

20:信号量集:一个进程需要多个临界资源,而又有多个进程,信号量集就是为多个进程服务,只有这些进程都可以启动的时候才一起启动,每个资源都有不同的数量,所以有资源数目,需求数目,下限数目si,ti,di….

21:计算机把各种硬件和软件都用数据结构抽象的描述其资源特性,用少量信息和对资源所执行的操作来表征该资源,而忽略内部结构和细节特性。同样,共享资源也用数据结构来表示,代表共享资源的数据结构,以及由对共享数据结构实施操作的一组过程所组成的资源管理程序,就是管程,管

程把数据结构包起来。只允许自己访问它,所有进程要访问临界资源都要通过管程。而管程每次只允许一个进程进入管程,从而实现进程互斥。

22:生产者消费者问题:用一个数组代表n个缓冲区构成一个缓冲池,用mutex实现互斥,empty表示缓冲池中空缓冲区的数量,full表示满缓冲区的数量。生产者方面,先wait (empty),一定要等到empty>0了,才执行empty--,才能执行下一句wait(mutex),当缓冲池中没人,mutex=1,于是通过,生产者把货物放进缓冲池,缓冲区数组下标加1,然后释放signal(mutex),然后signal(full)加1。消费者就是先wait(full),然后wait(mutex),然后数组下标--,然后释放mutex和empty。

23:哲学家进餐:第i位哲学家要用到第i个筷子和第i+1个筷子,有多少个筷子就会有多少个信号量,用信号量数组来表示,第i个哲学家,要wait(s[i])wait(s[i+1]) 。然后吃,然后释放两个信号量。

24:读者写者问题:只要有一个reader,writer就不允许。设置两个信号量rmutex(表示有rmutex个人可以同时读)和wmutex,和readcount,readcount等于0的时候才允许写。读者方面:首先wait(rmutex),通过后要做一个判断readcount=0,如果等于0,说明可能有进程在写,那么再wait(wmutex)(也就是说,如果有进程在写,就会导致

wmutext等于0,那么这个wait就会阻塞),一直到没有进程在写了,然后readcount++,并释放rmutex,然后执行读操作,因为允许多个进程读,所以要释放rmutex,前面对于rmutex的执行仅仅是保证只有一个读进程对wmutex进行操作,此时wmutex是临界资源。

执行完了读操作以后,又要对wmutex进行判断,先readcount--,如果readcount=0,说明允许写了,于是就释放写进程,siganl(wmutex),这一步的前后依然要加上wait (rmutex)和signal(rmutex)。写者很简单。就是先wait (wmutex)然后执行写操作,然后signal(wmutex)

25:进程通信:共享存储器系统(基于共享数据结构,基于共享存储区,通过关键字),消息传递系统(进程间的数据交换以格式化的消息为单位来传递,分为直接通信方式(直接发给目标进程)和间接通信方式(类似邮箱)),管道通信(直接连接读进程和一个写进程,把数据流入管道即可)。26:处理机调度层次:高级调度(作业级调度,把外存作业调入内存,作业进入系统后,就分配一个JCB,系统对JCB 进行控制。),低级调度(进程调度,保存处理机现场信息,选取进程,把处理机分配给进程,有抢占和非抢占两种),中级调度(把不能运行的进程调到外存去),

27:调度算法要求:周转时间短,响应时间快,截止时间有保证,优先权,系统吞吐量高,处理利用率高,各资源平衡

相关文档
最新文档