考试复试操作系统篇

1:进程与线程的区别
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行
(通过CPU调度,在每个时间片中只有一个线程执行)
进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,而线程是共享进程中的数据的,使用相同的地址空间
同时创建一个线程的开销要比进程要小很多
线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程
两个进程不能共享内存空间,但是同一进程的两个线程总是共享相同的内存

2:分页管理和分段管理
分页存储管理:是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等:相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0#块、1#块等等。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”

分段管理:
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、
子程序段X、数据段D及栈段S等。每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成

区别:页是信息的物理单位,分页仅仅是系统的需要。段是信息的逻辑单位,分段是为了更好的满足用户的需要。
页的大小固定,分为页号+页内地址。段的长度可变,取决于用户编写的程序。
 分页的作业地址是一维的,分段的地址是作业地址是二维的

4:简述一下同步和互斥
进程同步:完成任务的伙伴进程间,需要在某些位置上协调他们的工作次序而等待,传递信息所产生的制约关系
互斥关系:进程间相互制约使用独占型资源,如进程间争夺打印机而导致一方需等待另一方使用结束后才可以使用。

5:中断服务程序的步骤?
中断请求-中断相应-断点保护---执行中断服务程序---断点恢复---中断返回

6:进程调度策略 
先来先服务、优先级、时间片轮转调度、高响应比调度(等待+服务/服务)、多级反馈队列调度 
 作业调度算法: 
 先来先服务、短作业优先,高响应比优先、优先级调度算法 
 页面置换分配: 
 最佳置换算法、先进先出页面置换算法、最近最久未使用页面置换算法、时钟置换算法 

7:简述一下中断和异常

中断:一般来自CPU执行指令之外,与当前运行程序无关  暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再
返回原程序被中断处或调度其他程序执行的过程
  (1)中断异常发生
(2)保护现场
(3)处理中断程序
(4)恢复现场
异常:来自CPU正在执行的指令,与当前运行程序有关。

8:简述一下多线程

多线程,是指从软件或者硬件上实现多个线程并发执行的技术,同一个进程中的多个线程之间可以并发执行

9:I/O控制方式有哪几种
(1)程序直接控制方式:CPU不断查询设备状态,对cpu极大浪费 
(2).中断驱动方式,cpu与I/O设备并行工作 
(3).DMA控制方式,传送数据的基本单位是数据块
停止cpu访问内存方式 周期挪用方式 DMA与cpu交替访问(透明DMA)

10:简述剥夺方式和非剥夺方式

非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。

11:简述一下管程

管程:它是将共享的变量和对于这些共享变量的操作封装起来,形成一个具有一定接口的功能模块,
进程可以调用管程来实现进程级别的并发控制。

12:n个任务一个cup, 阻塞,运行,就绪的进程最多有多少个?
阻塞n个;运行1个;就绪n-1个

13:为什么引入多道程序技术?
因为引入多道程序技术后,可以进一步提高了CPU利用率(阻塞),提高内存和I/O设备利用率(小作业把内存浪费了),增加系统吞吐量(两都提高后的必然)

14:程序什么时候使用线程?
(1):使用线程提高CPU利用率
(2):并行操作使用线程

15:进程和程序的区别
(1)进程是支持程序执行的机制,进程是程序执行的过程,程序是静态的,进程是动态的
一个进程至少是可执行程序,一个程序可以由多个进程执行

进程和作业的区别:
作业是用户需要计算机完成的某项任务,一个作业可由多个进程组成,且至少一个
进程被创建,有相应的部分在内存,而作业被提交,系统将它放入外存等待队列中等待执行

16:段式虚拟存储和页式虚拟存储结构的联系和区别?

段式存储是基于用户程序结构的存储管理技术,有利于模块化程序设计,便于段的扩充、动态链接 、共享和保护,
但往往会生成段内碎片浪费存储空间;

页式存储是基于系统存储器结构的存储管理技术,存储利用率高,便于系统管理,
但不易实现存储共享、保护和动态扩充。如果把两者优点结合起来,在分页式存储管理的基础上实现分段式存储管理这就是段页式存储管理

17:操作系统的特点

共享:各终端用户共享计算机系统的各种资源
并发:操作系统中引入进程的目的就是为了使程序能并发执行。
虚拟:把物理上的一台设备变成逻辑上的多台设备。虚,可以理解为是用户感觉上的。
异步:在多道程序环境下,允许多个程序并发执行。但由于资源有限,进程的执行不是一贯到底,而是走走停停,已不可预知的速度向前推进,这就是进程的异步性。
并行是指同时发生的两个并发事件,
并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。

(2)并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。
操作系统功能:处理机管理、作业管理、存储管理、设备管理、文件管理。
并发是指在同一时间间隔内对资源的共享。即内存中的多个进程分时共享CPU、内存以及 I/O设备。显然,并发机制可以高效地使用CPU,协调高速CPU与慢速外设的矛盾。
,任一时刻 CPU 只能运行一个进程, 而其他进程只能是等待 CPU 或其他资源。为了公平合理地对待所有进程, 内核为每个进程分配一小段时间一小段时间被称为时间片。 一旦正在被运行进程的时间片用完, 
CPU 就立即被切换去执行另一个等待运行的就绪进程。由于 CPU 的运行速度很快, 造成若干个进程同时在运行的一 种虚拟假像。 
这就是多道程序的并发控制。
操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行
并行:并行是指两者同时执,比如有两条车道,在某一个时间点,两条车道都有车在跑:(资源够用,比如三个线程,四核的CPU

18:磁盘扫描算法有哪些
(1)先来先服务算法
(2)扫描算法
(3)循环扫描算法
(4)最短寻道时间优先

19:什么是内存中的覆盖和交换?
交换技术,在多道程序设计中,交换是把内存中暂时不能运行的作业写入外存,把外存中具备运行的作业调入
内存,交换是以时间换空间
覆盖:调入共享区的内容覆盖前面调入的内容,一个程序的若干程序段共享一个存储空间,使不会同时执行的程序段
共享一个内存空间。
两者的区别:
(1)交换技术由操作系统自动完成,而覆盖技术需要专业的程序员给出作业各部分之间的结构。了解系统的存储结构
(2)交换技术在不同作业之间,覆盖技术在同一作业之间。

虚拟技术 SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备
(生活中最常见的就是多台电脑共享同一个打印机)
SPOOling的组成
(1)输入井和输出井
(2)输入缓冲区和输出缓冲区
(2)输入进程和输出进程
(2)井管理程序
作业调度和进程调度
(1)进程调度真正让某个就绪状态的进程到处理机上运行,而作业调度只是具备了争夺出处理机的机会
进程调度:按照某种调度算法从就绪状态的进程中选择一个进程到处理机上运行
作业调度:按照某种调度算法从后备队列中选择作业装入内存。
进程控制块:用来保存进程和资源的相关信息
(1)进程标识信息
(2)处理机状态信息
(3)进程控制信息
(4)进程调度信息

20:电脑开机操作系统的流程

BIOS读硬盘的过程会先读主启动记录MBR
https://blog.csdn.net/xiaoyu开机操作系统的流aifuxiao/article/details/63711015(转载出)

绝对路径:从根目录开始
相对路径:从当前目录开始

21:编译程序和解释程序的区别?

编译程序:它可以把高级语言程序给语言翻译成某个机器的汇编语言程序或者是二进制代码程序,这个阶段叫做编译阶段。
需要注意的是编译和运行是分两个阶段进行的,也就是说程序必须要全部编译完成后,才能运行。
即编程方式执行程序会把源代码翻译成二进制文件的目标代码。)

解释程序:但在运行用户程序时,它是直接执行源程序或源程序的内部形式(中间代码)。因此,
解释程序并不生成目标程序,这是它和编译程序的主要区别。

22:内存管理是 : 指软件运行时对计算机内存资源的分配和使用的技术。 作用是 : 为了高效的,快速的分配,并且在适当的时候释放和回收内存资源

23:什么是锁:在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。
通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性
编译的几个过程:
(1)词法分析
(2)语法分析
(3)词义分析与中间代码生产
(4)优化
(5)中间代码生成
/
(1)识别出句子中的一个个单词;
(2)分析句子的语法结构;
(3)根据句子的含义进行初步翻译;
(4)对译文进行修饰;
(5)写出最后的译文。

24:.操作系统发展过程?
1无操作系统(人工操作方式):用户独占、CPU等待人工
2.单道批处理:内存只保存一道作业
3.多道批处理:运行多个程序同时存在主存中
4.分时:及时接收、及时处理,交互性
5.实时:实时控制、实时信息处理

25:操作系统的主要功能是什么?

 1.处理机管理(包括进程控制、进程同步、进程通信、调度)

 2.存储器管理(内存分配(静态/动态/连续/非连续分配)、内存包含、地址映射(逻辑地址-->物理地址)、内存扩充(虚拟存储技术))

 3.设备管理(缓冲管理、设备分配、设备处理(启动设备、中断设备))

 4.文件管理(文件存储空间管理、目录管理、文件读/写保护)

26:进程的七种状态是什么?

  创建、活动就绪、静止就绪、活动阻塞、静止阻塞、执行、终止

  其中静止阻塞和静止就绪是在外存中,操作系统将其虚拟为内存使用

27:线程的实现方式?
1.内核支持线程(核内切换快,开销小,模式间切换慢)
2.用户级线程(节省模式间切换的开销)
3.混合

28:处理机调度有那几层?
:?
1.高级调度(后备作业-->内存)
2.中级调度(进程-->外存)
3.低级调度(进程/线程调度)
程序控制方式:CPU与I/O设备串行工作

29:存储管理方案有哪些?
(1)段式存储管理 页式存储管理 段页式存储管理

30:设备管理采用的相关缓冲技术有哪些?

 1.通道技术(使数据传输独立于CPU)(增加设备到主机之间的通路,使主存和设备之间有两条以上的通路)

 2.DMA技术(数据在主存与I/O设备间直接成块传送)

 3.缓冲技术(硬件缓冲、软件缓冲)

 4.Spooling技术(使独占设备虚拟为多台设备)

31:什么是重定位?
当用户程序要调入内存时,必须把相对地址改为绝对地址,把程序中有关地址的指令进行修改
静态重定位是在程序执行之前进行重定位,它根据装配模块将要装入的内存起始位置,直接修改装配模块中的有关使用地址的指令。
动态重定位是指,不是在程序执行之前而是在程序执行过程中进行地址重定位。更确切地说,是在CPU每次访
问内存单元前才进行地址变换,态重定位可使装配模 块不加任何修改而装入内存,但是它需要硬件——重定位寄存器的支持。

重定位,通常来说把在装入时对目标程序中指令和数据地址修改的过程称为重定位。

而静态重定位就是,在逻辑地址转换为物理地址的过程中,地址变换是在进程装入时一次完成的,以后不再改变。
静态重定位是在程序执行之前进行重定位  

优点:是无需增加硬件地址转换机构,便于实现程序的静态连接。在早期计算机系统中大多采用这种方案。 

缺点:内存空间不能移动;各个用户进程很难共享内存中同一程序的副本

动态重定位:动态运行的装入程序把转入模块装入内存之后,并不立即把装入模块的逻辑地址进行转换,而是把这

种地址转换推迟到程序执行时才进行,装入内存后的所有地址都仍是逻辑地址。这种方式需要寄存器的支持,其中

放有当前正在执行的程序在内存空间中的起始地址。需要重定位寄存器,

32:产生死锁的条件?
1.    互斥(Mutualexclusion)
一次只有一个进程可以使用一个资源
2.    请求和保持 (Hold-and-wait)
当一个进程在等待分配得到其他资源时,将继续占有已分配到的资源
3.    非剥夺 (No preemption )
不能强行抢占进程已占有的资源
4.    循环等待 (Circular wait)
循环等待条件: 若干进程间形成首尾相接循环等待资源的关系

33产生死锁的原因?
1:系统资源的竞争
系统资源的竞争导致系统资源不足,以及资源分配不当,导致死锁。

2:进程运行推进顺序不合适
进程在运行过程中,请求和释放资源的顺序不当,会导致死锁。

34在交互式系统中,非剥夺是不是一个好的策略?为什么?
 非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,
才把处理机分配给另一个进程。
  剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。在分时系统中不剥夺并不是一个好的策略。因为,在分时系统中,除了交互性以外,及时性是很重要的性能因素。当一个作业被阻塞后,CPU就完全空闲了,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。

35: 简述一下管程?    
(1):管程可以看做一个软件模块,它是将共享的变量和对于这些共享变量的操作封装起来,形成一个具有一定接口的功能模块,进程可以调用管程来实现进程级别的并发控制。
(2):进程只能互斥得使用管程,即当一个进程使用管程时,另一个进程必须等待。当一个进程使用完管程后,它必须释放管程并唤醒等待管程的某一个进程

36:在可变分区管理中,需要哪些硬件机制?
采用可变分区方式管理时,一般均采用动态重定位方式装入作业。地址变换要靠硬件支持,

37:为什么引入多道程序技术?
因为引入多道程序技术后,可以进一步提高了CPU利用率(阻塞),提高内存和I/O设备利用率(小作业把内存浪费了),
增加系统吞吐量(两都提高后的必然)。

38:.什么是管态?什么是目态?

管态是操作系统管理程序执行时机器所处的状态。管态具有最高特权,能执行一切的指令,访问所有的寄存器和存储区。
目态是用户程序执行时机器所处的状态。目标具有较低特权,它只能执行规定的指令,访问指定的寄存器和存储区。

39:什么是操作系统?
是计算机系统中的一个系统软件,能有效地组织和管理计算机系统中的硬件和软件资源,
理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能

40:父子进程是否可以并发运行吗?
可以,父进程创建子进程后,子进程也成为了一个可以独立运行的单位,虽然子进程继承了父进程的全部资源,但是只要两个
进程创建的程序和数据没有冲突,则它们可以并发运行。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值