计算机操作系统面经(一)

计算机操作系统面经(一)

计算机操作系统面经(二)

计算机操作系统面经(三)

1.什么是计算机操作系统?它有哪些功能和特征?

    (1)操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。

    (2)操作系统应具有以下几方面的功能:处理机管理、存储器管理、设备管理和文件管理。

    (3)操作系统的基本特征包括井发、共享、虚拟和异步。

        ①并发是指两个或多个事件在同一时间间隔内发生。

        ②共享是指系统中的资源可供内存中多个并发执行的进程共同使用。

        ③虚拟是指把一个物理上的实体变为若干逻辑上的对应物。

        ④多道程序环境允许多个程序井发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。

2.详细说说处理器的管理功能

    (1)处理机管理:对处理机的管理可归结为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。

    (2)存储器管理:主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。

    (3)文件管理:文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等

    (4)设备管理:设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。

3.操作系统的发展历程?

    (1)手工操作阶段 (此阶段无操件系统)→批处理阶段(操作系统开始出现)→分时操作系统→实时操作系统→网络操作系统和分布式计算机系统。

4.什么是中断与异常?

    (1)中断也称外中断,指来自CPU执行指令以外的事件的发生。

    (2)异常也称内中断、例外或陷入,指源自 CPU 执行指令内部的事件。

5.请描述中断处理的过程?

    (1)关中断→保存断点→引出中断服务程序→保存现场和屏蔽字→开中断→执行中断服务程序→关中断→恢复现场和屏蔽字→开中断、中断返回。

6.什么是进程,它有哪几种状态?

    (1)进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体(程序的一次执行)。

    (2)创建状态、就绪状态、执行状态、阻塞转态、终止状态。

    (3)状态转换:

        ①就绪→执行:调度程序为之分配处理机

        ②运行→阻塞:进程需要的某一资源还没准备好

                                

7.进程控制块PCB的作用?

    (1)作为独立运行基本单位的标志

    (2)能实现间断性运行方式

    (3)提供进程管理所需要的信息

    (4)提供进程调度所需要的信息

    (5)实现与其它进程的同步与通信

8.进程之间的通信有哪几种?

    (1)低级通信方式:指以较低的效率传输少量数据的通信方式。

        (1.1)PV操作

    (2)高级通信方式:指以较高的效率传输大量数据的通信方式。

        (2.1)共享存储:在通信的进程之间存在一块可直接访问的共享空间,通过对这片共享空间进行写/读操作实现进程之间的信息交换。

        (2.2)消息传递:在消息传递系统中,进程间的数据交换是以格式化的消息( Message)为单位的。若通信的进程之间不存在可直接访问的共享空间,则必须利用操作系统提供的消息传递方法实现进程通信。

        (2.3)管道通信:管道通信是消息传递的一种特殊方式,所谓“管道”,是指用于连接一个读进程和一个写进程以实现它们之间的通信的一个共享文件,又名 pipe文件。向管道共享文件提供输入的发送进程(即写进程),以字符流形式将大量的数据送入(写)管道;而接收管道输出的接收进程(即读进程)则从管道中接收(读)数据。为了协调双方的通信, 管道机制必须提供以下三方面的协调能力:互斥、同步和确定对方的存在。

9.什么是线程?它和进程有什么区别?

    (1)线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。

    (2)进程和线程的比较:

        (2.1)调度:线程是独立调度的基本单位,进程是拥有资源的基本单位。

        (2.2)拥有资源:进程是拥有资源的基本单位,而线程不拥有系统资源,但线程可以访问其隶属进程的系统资源。

        (2.3)并发性:不仅进程之间可以并发执行,而且多个线程之间也可以并发执行。

        (2.4)系统开销:创建或撤销进程时操作系统所付出的开销远大于创建或撤销线程时的开销。

        (2.5)地址空间和其他资源 (如打开的文件):进程的地址空间之间互相独立,同一进程的各线程间共享进程的资源,某进程内的线程对于其他进程不可见。通信方面:进程间通信需要进程同步和互斥手段的辅助,以保证数据的一致性, 而线程间可以直接读/写进程数据段(如全局变量)来进行通信。

10.调度分为哪几个层次?每个层次的任务(作用)是什么?

    (1)作业调度,又称高级调度。其主要任务是按一定的原则从外存上处于后备状态的作业中挑选一个(或多个)作业,给它(们)分配内存、输入/输出设备等必要的资源,并建立相应的进程,以使它(们)获得竞争处理机的权利。

    (2)中级调度,又称内存调度。其作用是提高内存利用率和系统吞吐量。(应将那些暂 时不能运行的进程调至外存等待,把此时的进程状态称为挂起态。)

    (3)进程调度,又称低级调度。其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。

11.调度方式有哪种?

    (1)非剥夺调度方式, 又称非抢占方式。 剥夺调度方式是指当一个进程正在处理机上执行时,即使有某个更为重要或紧迫的进程进入就绪队列,仍然让正在执行的进程继续执行,直到该进程完成或发生某种事件而进入阻塞态时,才把处理机分配给更为重要或紧迫的进程。

    (2)剥夺调度方式,又称抢占方式。剥夺调度方式是指当一个进程正在处理机上执行时, 若有某个更为重要或紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给这个更为重要或紧迫的进程。

12.常用的调度算法有哪些?

    (1)先来先服务(FCFS)调度算法:每次从就绪队列中选择最先进入该队列的进程,将处理机分配给它,使之投入运行,直到完成或因某种原因而阻塞时才释放处理机。

    (2)短作业优先(SJF)调度算法:从后备队列中选择一个或若干估计运行时间最短的作业,将它们调入内存运行。

    (3)优先级调度算法:在作业调度中,优先级调度算法每次从后备作业队列中选择优先级最高的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并放入就绪队列。在进程调度中,优先级调度算法 每次从就绪队列中选择优先级最高的进程,将处理机分配给它,使之投入运行。

        (3.1)非剥夺式优先级调度算法。当一个进程正在处理机上运行时,即使有某个更为重要或紧 迫的进程进入就绪队列,仍然让正在运行的进程继续运行,直到由于其自身的原因而主动让出处理机时(任务完成或等待事件),才把处理机分配给更为重要或紧急的进程。

        (3.2)剥夺式优先级调度算法。当一个进程正在处理机上运行时,若有某个更为重要或紧迫的进程进入就绪队列,则立即暂停正在运行的进程,将处理机分配给更重要或紧迫的进程。

    (4)高响应比优先调度算法:在每次进行作业调度时,先计算后备作业队列中每个作业的响应比,从中选出响应比最高的作业投入运行。响应比计算公式:响应比=(等待时间+要求服务时间)/要求服务时间

    (5)时间片轮转调度算法:时间片轮转调度算法主要适用于分时系统。在这种算法中,系统将所有就绪进程按到达时间的先后次序排成一个队列,进程调度程序总是选择就绪队列中的第一个进程执行,即先来先服务的原则,但仅能运行一个时间片,如 lOOms。在使用完一个时间片后,即使进程并未完成其运行,它也必须释放出(被剥夺)处理机给下一个就绪的进程,而被剥夺的进程退回到就绪队列的末尾重新排队,等候再次运行。

    (6)多级反馈队列调度算法:①)设置多个就绪队列,并为各个队列赋予不同的优先级;②赋予各个队列中进程执行时间片的大小各不相同,在优先级越高的队列中,每个进程的运行时间片越小;③一个新进程进入内存后,首先将它放入第 l 级队列的末尾,按 FCFS 原则排队等待调度。当轮到该进程执行时,如l它能在该时间片内完成, 便可准备撤离系统;若它在一个时间 片结束时尚未完成,调度程序便将该进程转入第2级队列的末尾,再同样按 FCFS 原则等 待调度执行;若它在第2级队列中运行一个时间片后仍未完成,再以同样的方法放入第 3 级队列……如此下去,当一个长进程从第1级队列依次降到第 n 级队列后,在第 n 级队 列中便采用时间片轮转的方式运行。④仅当第 l 级队列为空时,调度程序才调度第 2 级队列中的进程运行;仅当第 l~(i-1)级队列均为空时才会调度第i级队列中的进程运行。

 13.不同进程之间存在什么关系?

    (1)不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了进程同步和互斥的概念

    (2)同步亦称直接制约关系,是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系源于它们之间的相互合作。

    (3)互斥也称间接制约关系。当一个进程进临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才允许去访问此临界资源。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值