操作系统面试基本概念
1 并发
2 临界资源
3 文件物理结构
4 段表
5 页表
6 高级调度
7 静态优先权
8 进程控制块
9 段页式存储管理
10 周转时间
11 阻塞
12 进程创建的过程
13 什么是操作系统
14 什么是临界区?临界区的访问原则是什么?
15 抢占式进程调度与非抢占式进程调度
16 分时与实时系统区别
17 页式和段式内存管理的区别
18 引起进程阻塞的主要事件有哪些?
19 选择作业调度算法应该遵循什么原则
20 操作系统为用户提供了那些接口?
21 段页式存储管理中如何实现地址变换
22 操作系统发展的主要动力是什么?
23 文件目录管理的要求是什么?
24 操作系统引入缓冲区的原因是什么?
25 分析说明 SPOOLING 技术的实现方法
26 多队列调度算法是如何实现的?它的优点是什么?
27 高响应比优先调度算法
28 动态优先级
29 进程的几种特性
30 死锁的产生原因和必要条件有哪些?
31 为什么引入线程
32 设计操作系统最主要的目标是什么?
33 进程进入挂起状态的原因
34 虚拟内存的特点
35 多道批处理系统的优缺点是
36 简述操作系统的功能
37 简述进程与线程的区别和联系
38 进程与程序的区别
39 简述中断机制及其作用
40 处理机管理有哪些主要功能?
41 什么是文件控制块?文件控制块包含哪些信息?
42 简述处理死锁的方法
操作系统面试基本概念
1 并发
1.1 基本含义
在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQL Server使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。
1.2 特点
操作系统并发程序执行的特点:
并发环境下,由于程序的封闭性被打破,出现了新的特点:
① 程序与计算不再一一对应,一个程序副本可以有多个计算
② 并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等。
③ 并发程序在执行中是走走停停,断续推进的。
1.3 与并行区别
并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。
并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。
区别:并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。
2 临界资源
2.1 简介
各进程采取互斥的方式,实现共享的资源称作临界资源。
属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。
程中用于实现进程互斥的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。为此,每个进程在进入临界区之前,应先对欲访问的临界资源进行检查,看它是否正被访问。如果此刻该临界资源未被访问,进程便可进入临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。
在操作系统中,有临界区的概念。临界区内放的一般是被1个以上的进程或线程(以下只说进程)共用的数据。
临界区内的数据一次只能同时被一个进程使用,当一个进程使用临界区内的数据时,其他需要使用临界区数据的进程进入等待状态。
操作系统需要合理的分配临界区以达到多进程的同步和互斥关系,如果协调不好,就容易使系统处于不安全状态,甚至出现死锁现象。
2.2 事例
例如,打印机不可能同时打印多个进程的结果,若将一个进程的结果打印几行,再打印另一个进程的结果,这会使打印的结果变得无法使用。所以两个或两个以上进程由于不能同时使用同一临界资源,只能一个进程使用完了,另一进程才能使用。
除了物理设备外,还有很多软资源如变量、表格、队列等也都属于临界资源,如果同时使用,同样会引起与时间相关的错误。例如,有两个进程P1和P2共享一个变量count,P1或P2的功能是,每执行完某些操作后,将count的值取出加1,R1和R2是工作寄存器。当两个进程按下述顺序执行时:
P1:操作序列;
Rl=count;
R1=R1+1;
count=R1;
P2:操作序列;
R2=count;
R2=R2+1;
count=R2;
其结果使count的值增加了2;倘若P1和P2按另一种顺序执行,例如:
P1:R1=count;
P2:R2=count;
P1:Rl=Rl+1;count=Rl;
P2:R2=R2+1;count=R2;
按此执行序列,虽使P1和P2都各自对count做了加1操作,但最后的count值却只增加了1,即出现了结果不确定的错误。显然这种错误与执行顺序有关,又叫与时间相关的错误。之所以出现这种错误,是由于变量count是临界资源,P1和P2不能同时使用,即仅当进程P1对count进行修改并退出后,才允许进程P2访问和修改,那么就可以避免上述的错误结果。
3 文件物理结构
3.1 简介
文件系统往往根据存储设备类型、存取要求、记录使用频度和存储空间容量等因素提供若干种文件存储结构。用户看到的是逻辑文件,处理的是逻辑记录,按照逻辑文件形式去存储,检索和加工有关的文件信息,也就是说数据的逻辑结构和组织是面向应用程序的。然而,这种逻辑上的文件总得以不同方式保存到物理存储设备的存储介质上去储介质上去,所以,文件的物理结构和组织是指逻辑文件在物理存储空间中存放方法和组织关系。
3.2 文件的物理结构有哪3种
顺序结构
优点:
① 支持顺序存取和随机存取。
② 顺序存取速度快。
③ 所需的磁盘寻道次数和寻道时间最少。
缺点:
① 需要为每个文件预留若干物理块以满足文件增长的部分需要。
② 不利于文件插入和删除。
链式结构
优点:
① 提高了磁盘空间利用率,不需要为每个文件预留物理块。
② 有利于文件插入和删除。
③ 有利于文件动态扩充。
缺点:
① 存取速度慢,不适于随机存取。
② 当物理块间的连接指针出错时,数据丢失。
③ 更多的寻道次数和寻道时间。
④ 链接指针占用一定的空间,降低了空间利用率。
索引结构
优点:
① 不需要为每个文件预留物理块。
② 既能顺序存取,又能随机存取。
③ 满足了文件动态增长、插入删除的要求。
缺点:
① 较多的寻道次数和寻道时间。
② 索引表本身带来了系统开销。如:内外存空间,存取时间等。
3.3 文件存取方法
顺序存取:
顺序存取是按照文件的逻辑地址顺序存取。
固定长记录的顺序存取是十分简单的。读操作总是读出上一次读出的文件的下一个记录,同时,自动让文件记录读指针推进,以指向下一次要读出的记录位置。如果文件是可读可写的。再设置一个文件记录指针,它总指向下一次要写入记录的存放位置,执行写操作时,将一个记录写到文件 末端。允许对这种文件进行前跳或后退N(整数)个记录的操作。顺序存取主要用于磁带文件,但也适用于磁盘上的顺序文件。
可变长记录的顺序文件,每个记录的长度信息存放于记录前面一个单元中,它的存取操作分两步进行。读出时,根据读指针值先读出存放记录长度的单元 。然后,得到当前记录长后再把当前记录一起写到指针指向的记录位置,同时,调整写指针值 。
由于顺序文件是顺序存取的,可采用成组和分解操作来加速文件的输入输出。
直接存取(随机存取法):
很多应用场合要求以任意次序直接读写某个记录。例如,航空订票系统,把特定航班的所有信息用航班号作标识,存放在某物理块中,用户预订某航班时,需要直接将该航班的信息取出。直接存取方法便适合于这类应用,它通常用于磁盘文件。
为了实现直接存取,一个文件可以看作由顺序编号的物理块组成的,这些块常常划成等长,作为定位和存取的一个最小单位,如一块为1024字节、4096字节,视系统和应用而定。于是用户可以请求读块22、然后,写块48,再读块9等等。直接存取文件对读或写块的次序没有限制。用户提供给操作系统的是相对块号,它是相对于文件开始位置的一个位移量,而绝对块号则由系统换算得到。
索引存取:
由于文件中的记录不按它在文件中的位置,而按它的记录键来编址,所以,用户提供给操作系统记录键后就可查找到所需记录。通常记录按记录键的某种顺序存放,例如,按代表健的字母先后次序来排序。对于这种文件,除可采用按键存取外,也可以采用顺序存取或直接存取的方法。信息块的地址都可以通过查找记录键而换算出。实际的系统中,大都采用多级索引,以加速记录查找过程。
4 段表
4.1 概念
在分段式存储管理系统中,每个进程或程序都有一个或多个逻辑段,为使程序或称进程能正常运行,亦即,能从物理内存中找出每个逻辑段所对应的位置,在系统中为每个进程建立一张段映射表,简称段表,段表记录了进程中每一个段在内存中的起始地址(又称为 “基址” )、段号和段的长度。
5 页表
5.1 概念
页表是一种特殊的数据结构,放在系统空间的页表区,存放逻辑页与物理页帧的对应关系。 每一个进程都拥有一个自己的页表,PCB表中有指针指向页表。
5.2 作用
实现从页号到物理块号的地址映射。
逻辑地址转换成物理地址的过程是:用页号p去检索页表,从页表中得到该页的物理块号,把它装入物理地址寄存器中。同时,将页内地址d直接送入物理地址寄存器的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。
6 高级调度
高级调度又称为作业调度或宏观调度。其主要功能是根据一定的算法,从输入的一批任务(作业)中选出若干个作业(从磁盘的作业后备队列中选择作业调入内存),分配必要的资源并建立与作业相对应的进程,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入/输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。
7 静态优先权
7.1 概念
静态优先权是指在创建进程时,根据进程的类型、进程对资源的要求和用户的要求确定他的优先权,以后该优先权便不再变化。静态优先权法简单易行,但随着进程的推进,其优先权可能与进程的情况不再相符。
静态优先权是指在创建进程时,根据进程的类型、进程对资源的要求和用户的要求确定他的优先权,以后该优先权便不再变化。静态优先权法简单易行,但随着进程的推进,其优先权可能与进程的情况不再相符。
确定静态优先权的依据有如下三个方面:
① 进程类型:通常,系统进程(如接收进程、对换进程、磁盘I/O进程)的优先权高于一般用户进程的优先权
② 进程对资源的要求:如进程的估计执行时间及内存需要量的多少,对这些要求少的进程应赋予较高的优先权
③ 用户要求:这是用户进程的紧迫程度及用户所付费用的多少来确定优先权的
8 进程控制块
8.1 概念
进程控制块(Processing Control Block),是操作系统核心中一种数据结构,主要表示进程状态。其作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位或与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。 PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位或一个能与其他进程并发执行的进程。
8.2 组织方式
进程控制块PCB的组织方式
① 线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。
② 索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。③ 链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等。
9 段页式存储管理
9.1 概念
段页式存储管理方式即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。下图示出了一个作业的地址空间和地址结构。

9.2 基本原理
该作业有三个段,页面大小为4 KB。在段页式系统中,其地址结构由段号、段内页号及页内地址三部分所组成,如下图所示。

9.3 地址变换过程
在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段表长TL。进行地址变换时,首先利用段号S,将它与段表长TL进行比较。若S<TL,表示未越界,于是利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。右图示出了段页式系统中的地址变换机构。
在段页式系统中,为了获得一条指令或数据,须三次访问内存。第一次访问是访问内存中的段表,从中取得页表始址;第二次访问是访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
显然,这使访问内存的次数增加了近两倍。为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。
10 周转时间
10.1 概念
对一个进程来说,一个重要的指标是它执行所需要的时间。 从进程提交到进程完成的时间间隔为周转时间。也就是等待进入内存的时间,在就绪队列中等待的时间,在 CPU中执行的时间和I/O操作的时间的总和。
11 阻塞
11.1 概念
在某一时刻某一个线程在运行一段代码的时候,这时候另一个线程也需要运行,但是在运行过程中的那个线程执行完成之前,另一个线程是无法获取到CPU执行权的(调用sleep方法是进入到睡眠暂停状态,但是CPU执行权并没有交出去,而调用wait方法则是将CPU执行权交给另一个线程),这个时候就会造成线程阻塞。
12 进程创建的过程
① 为新进程分配一个唯一的进程标识符;
② 为进程分配空间;
③ 初始化进程控制块;
④ 设置正确的链接;
⑤ 创建或扩充其他数据结构;
13 什么是操作系统
13.1 概念
操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
14 什么是临界区?临界区的访问原则是什么?
每个进程中访问临界资源的那段程序称为临界区。
如果几个进程共享同一临界资源,它们必须以互斥的方式使用这个临界资源。进程互斥也可以理解为,当一个进程进入临界区使用临界资源时,另一个进程必须等待。当占用临界资源的进程退出临界区后,这个等待的进程才能进入它的临界区访问临界资源。
对于临界区的使用应遵守如下规则:如果临界区空闲,就允许一个进程进入临界区;当临界K内有进程执行时,其他想进入者则需等待;任何一个进入临界K的进程必须在有限的时间内退出它的临界K;如果一个进程退出了临界K,就应允许一个等待进程进入临界区。
15 抢占式进程调度与非抢占式进程调度
15.1 简介
最高优先级调度算法原则上总是调度就绪队列中优先级最高的那个进程。非抢占式进程调度和抢占式进程调度都属于最高优先级进程调度。采用非抢占式最高优先级调度算法,当就绪队列中某进程的最高优先级高于正在处理器中运行的进程的最高优先级时,并不会让正在运行的进程退出处理器,而是将高优先级的排在就绪队列的首部。而采用抢占式最高优先级进程调度算法,则高优先数容的进程会抢占处理器,让正在处理的进程处于就绪队列。
16 分时与实时系统区别
16.1 概念
分时系统是指在一个系统中多个用户分时地使用同一台计算机。
实时系统是指计算机及时响应外部事件地请求并在规定时限内完成对该事件地处理,控制所有实时外设和实时任务协调一致地运行。
16.2 区别
实时系统和分时系统的主要区别有两点
① 分时系统的目标是提供一种通用性很强的系统,有较强的交互能力;而实时系统则大都是具有特殊用途的专用系统,交互能力略差。
② 分时系统对响应时间虽有要求,但一般来说,响应时间由人所能承受的等待时间来确定;而实时系统对响应时间要求很高,一般由控制系统或信息处理磁头所能接受的延迟时间来决定。
17 页式和段式内存管理的区别
页式和段式系统有许多相似之处。比如,两者都采用离散分配方式,且都通过地址映射机构来实现地址变换。但概念上两者也有很多区别,主要表现在:
① 页是信息的物理单位,分页是为了实现离散分配方式,以减少内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。
② 页的大小固定且由系统决定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的。段的长度不固定,且决定于用户所编写的程序,通常由编译系统在对源程序进行编译时根据信息的性质来划分。③ 页式系统地址空间是一维的,即单一的线性地址空间,程序员只需利用一个标识符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
18 引起进程阻塞的主要事件有哪些?
① 请求系统服务;
② 启动某种操作;
③ 无新工作可做 ;
④ 新数据尚未到达;
19 选择作业调度算法应该遵循什么原则
① 面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。
② 面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。
20 操作系统为用户提供了那些接口?
操作系统为用户提供两个接口。
一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。
另外一个接口是系统调用,编程人员使用系统调用请求操作系统提供服务,例如申请和释放外设等类资源、控制程序的执行速度等。
21 段页式存储管理中如何实现地址变换
在段页式存储管理采用动态重定位,处理器每执行一条指令就将要访问的逻辑地址(s,p,d)取来,要经过如下地址转换步骤,才能得到最终的物理地址。
① 通过段号(s)查段表,得到页表所在位置。
② 根据逻辑页号§访问页表,得到该页所在的物理页号(p’)。
③ 将物理页号(p’)和逻辑地址中的页内地址(d)拼接,形成访问内存单元的物理地址(p’,d)。
22 操作系统发展的主要动力是什么?
推动操作系统发展的因素很多,主要可归结为两大方面:
① 硬件技术更新和应用需求扩大伴随计算机器件的更新换代和版计算机体系结构的发展,促使操作系统的性能和结构有了显著发展。
② 应用需求促进了计权算机技术的发展,也促进了操作系统的不断更新升级。
23 文件目录管理的要求是什么?
① 目录的编排应当百以准确快速地找到所需的文件为原则,而选择检索目录的方法应以查找速度快为度准则 。
② 要解决文件命名问的冲突以及文件共享和存取控制方面的问题。
24 操作系统引入缓冲区的原因是什么?
① 改善CPU与I/O设备间速度不匹配的矛盾;
② 可以减少对CPU的中断频率,放宽对中断响应时间的限制;
③ 高CPU和I/O设备之间的并行性;
25 分析说明 SPOOLING 技术的实现方法
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作知)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机道技术”。
进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当版CPU需要输入数据时,直接从输入井读入内存;进程SP0模拟脱机输出时的外围控制机,把用户要求输出的数据从先内存送到输出井,待输出设权备空闲时,在将输出井中的数据经过输出缓冲区送到输出设备上。
26 多队列调度算法是如何实现的?它的优点是什么?
多级反馈队列调度算法允许进程在队列之间迁移。这种想法是,根据不同 CPU 执行的特点来区分进程。如果进程使用过多的 CPU 时间,那么它会被移到更低的优先级队列。这种方案将 I/O 密集型和交互进程放在更高优先级队列上。 此外,在较低优先级队列中等待过长的进程会被移到更高优先级队列。这种形式的老化可阻止饥饿的发生。通常在使用多级队列调度算法时,进程进入系统时被永久地分配到某个队列。例如,如果前台和后台进程分别具有单独队列,那么进程并不从一个队列移到另一个队列,这是因为进程不会改变前台或后台的性质。这种设置的优点是调度开销低,缺点是不够灵活。
27 高响应比优先调度算法
高响应比优先调度算法(Highest Response Ratio Next)是一种对CPU中央控制器响应比的分配的一种算法。HRRN是介于FCFS(先来先服务算法)与SJF(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。
28 动态优先级
动态优先级:在创建进程时所赋予的道优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。
29 进程的几种特性
① 动态(pcb进程控制块是进程存在的唯一的标志):进程是程序的一次执行,它有着创建,活动,暂停,终止等过程,具有一定的生命周期(由pcb决定),是动态的产生,变化和消亡的。动态性是进程最基本的特征。
② 并发性:指多个进程实体,同存在于内存中,能在一段时间内同时运行,并发性是进程的重要特征,同时也是操作系统的重要特征。引入进程的目的就是为了使程序能与其他进程的程序并发执行,以提高资源利用率。
③ 独立性:指进程实体是一个能独立运行,独立获得资源和独立接受调度的基本单位。凡是为建立pcb的程序都不能作为一个独立的单位参与运行。
④ 异步性:由于进程的相互制约,使进程具有执行的间断性,即进程按照各自的独立的,不可预知的速度向前推进。异步性会导致执行结果的不可再现性,为此,在操作系统中必须配置相应的进程同步机制。
⑤ 结构性:每个进程都配置一个pcb对其进行描述。从结构上看,进程实体是由程序段,数据段和进程控制段三部分组成。
30 死锁的产生原因和必要条件有哪些?
30.1 产生原因
死锁的原因主要是:
① 因为系统资源不足。
② 进程运行推进的顺序不合适。
③ 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可百能产生死锁。
30.2 必要条件
产生死锁的四个必要条件:
① 互斥条件:一个资源每次只能被一个进程使用。
② 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
③ 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
④ 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
31 为什么引入线程
由于进程是资源的拥有者,所以在创建、撤销、切换操作中需要较大的时空开销,限制了并发程度的进一步提高。为减少进程切换的开销,把进程作为资源分配单位和调度单位这两个属性分开处理,即进程还是作为资源分配的基本单位,但是不作为调度的基本单位(很少调度或切换),把调度执行与切换的责任交给“线程”。这样做的好处不但可以提高系统的并发度,还能适应新的对称多处理机(SMP)环境的运行,充分发挥其性能。
32 设计操作系统最主要的目标是什么?
管理、分配硬件资源。(CPU、内存、硬盘、鼠标键盘、网络等) (管理软件,多用户使用、多种功能使用)
33 进程进入挂起状态的原因
① 终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进 程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态称为“挂起状态”。
② 父进程的请求。有时父进程希望挂起自己的某个子专进程,以便考察和修改子进程,或者协调各子进程间的活动。
③ 负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起属,以保证系统能正常运行。
④ 操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。
34 虚拟内存的特点
虚拟存储器有 离散性、多次性、对换性、虚拟性 这四个主要特征。
① 离散性,是指内存分配时采用离散分配的方式。
② 多次性,多次性是指一个作业被分成多次调入内存运行。
③ 对换性,对换性是指允许在作业运行过程中换进换出。
④ 虚拟性,虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际的内存容量。
35 多道批处理系统的优缺点是
35.1 简介
所谓批处理就是将作业按照它们的百性质分组(或分批),然后再成组(或成批)地提交给计算机系统,由计算机自动完成后再输出结果,从而减少作业建立和结束过程中的时间浪费。根据在内存中允许存放的作业数,批处理系统又分为单道批处理系统和多道批处理系统。
35.2 优缺点
优点:
① 系统利用率高。由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。
② 系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU和其它资源保持“忙碌”状态; 第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。
缺点:
① 平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
② 无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
36 简述操作系统的功能
操作系统是一个庞大的管专理属控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。
37 简述进程与线程的区别和联系
37.1 简介
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程。
37.2 区别和联系
区别:
① 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,它是系统进行资源分配和调度的一个独立单位。
② 程是进程的一个实体,是CPU调度和分配的基本单位。线程基本不拥有系统资源,与同一个进程的其他线程共享进程中所拥有的所有资源。
联系:
① 一个进程可以包括多个线程。
② 在没有实现线程的操作系统中,进程是资源分配的基本单位,又是调度的基本单位,它是系统中并发执行的单元;而在实现了线程的操作系统中,进程是资源分配的基本单位,但是线程是调度的基本单位,是系统中并发执行的单元。
38 进程与程序的区别
① 进程是程序的一次执行,属于动源态概念,而程序是一组有序的指令,是一种静态概念。但进程离开了程序也就失去了存在的意义。
② 一个进程可以执行一个或几个程序z反之,同一程序可能由几个进程同时执行。
③ 程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程具有生命期。
④ 进程具有并发性,能与其它进程并发运行。而程序不具备这种特征。
⑤ 进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。因此,进程具有独立性,但有时进程间又具有相互制约性。
39 简述中断机制及其作用
中断机制包括硬件的中断装置和操作系统的中断处理服务程序。中断装置由一些特定的寄存器和控制线路组成,中央处理器和外围设备等识别到的事件保存在特定的寄版存器中,中央处理器每执行完一条指令,均由中断装置判别是否有事件发生。
若无事件发生,CPU继续执行;若有事件发生,则中断装置中断原占有CPU的程序的执行,让操作系统的处理事件服务程序占用CPU,对权出现的事件进行处理,事件处理完后,再让原来的程序继续占用CPU执行。
40 处理机管理有哪些主要功能?
① 进程控制,进程同步,进程通信和调度,进程控制的主要任务是为作业创建百进程,撤销已结束的进程,以及控制进度程在运行过程中的状态转换。
② 进程同步的主要任务是对诸进程的运行进行调节,进程通信的任务是实现在相互合作进问程之间的信息交换。
③ 调度分为作业调度和进程调度.作业调度的基本任务是从后答备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源。
④ 进程调度的任务是从进程的就专绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行属现场,是进程投入运行。
41 什么是文件控制块?文件控制块包含哪些信息?
为了能对一个文件进行正确的存取,操作系统必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块(FCB)”。
在MS-DOS中,普通文件控制块含有以下信息:驱动器号、文件名或设备名、拓展名、当前记录号、记录长度、文件长度、建立或最后修改的日期、建立或最后修改的时间、DOS保留、当前记录号、相对记录号。
FCB具有"普通"和"扩展"两种类型,扩展FCB就是在普通FCB前面增加了7个字节的数据,在这7个字节中首字节是 -1,末字节表示文件的属性,其余5字节均为0。
42 简述处理死锁的方法
① 死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。
② 死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。
③ 死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。
文章更新结束,后期可能会补充细节。
喜欢文章的话就随手点个赞,如果在学习过程中发现问题请在评论区留言,谢谢支持
————————————————
版权声明:本文为CSDN博主「IT Employee」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40408952/article/details/105174371
浙公网安备 33010602011771号