设计现代OS的主要目标是什么?
方便性,有效性,可扩充性和开放性.
文件系统
文件系统是指负责存取和管理辅助存储器上文件信息的机构,对文件提供存取、共享和保护,方便用户使用。
操作系统及其作用:
操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件作用:控制管理计算机的全部硬软件资源,合理组织计算机内部各部件协调工作,为用户提供操作和编辑界面的程序集合。功能:存储管理、处理器管理、设备管理、文件管理、作业管理
操作系统要为用户提供哪些基本和共性的服务
创建程序 执行程序 数据I/O 信息存取 通信服务 错误检测和处理
系统调用和函数调用的主要区别
调用形式不同 被调用代码的位置不同 提供方式不同 调用的实现不同
什么是单道程序设计?什么是多道程序设计?多道程序设计的特点是什么?
单道批处理系统定义:把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理,直至磁带(盘)上的所有作业全部完成,系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业。
多道批处理系统定义:用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。
多道程序设计的基本特征:间断性、共享性、制约性。
响应时间
响应时间指用户发出请求或者指令到系统做出反应(响应)的时间。
操作系统的基本特征有哪些?请简要叙述其基本含义。
1)并发性:是指两个或多个进程在同一时间间隔内交替执行。
2)共享性:是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
3)虚拟性:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
4)异步性:并发执行的进程是以人们不可预知的速度向前推进的。
操作系统的主要功能?
处理机管理功能 存储器管理功能 设备管理功能 文件管理功能
什么是系统调用? 系统调用过程?
通常,在操作系统内核设置有一组用于实现各种系统功能的子程序(过程),并将它们提供给用户程序调用。每当用户在程序中需要操作系统提供某种服务时,便可利用一条系统调用命令,去调用所需的系统过程。
什么是进程?为什么操作系统要引入进程?
“进程”是操作系统中最基本、最重要的概念,是在多道程序系统出现后,为了刻画系统内部动态状况、描述运行程序活动规律而引进的新概念,所有多道程序设计系统都是建立在进程的基础上。
目的:刻画程序的并发性,解决资源的共享性!
进程的属性:
动态性 共享性 独立性 制约性 并发性
进程最基本的状态是哪些,哪些事件可能引起不同状态间的转换?
运行态:进程占有处理器正在运行。
就绪态:进程具备运行条件,等待系统分配处理器以便运行。
等待态:又称为阻zǔ塞sè 态或睡眠态,指进程不具备运行条件,正在等待某个事件的完成。
进程状态转换的具体原因:
运行态-->等待态 等待使用资源或某事件发生,如等待外设传输、等待人工干预。
等待态-->就绪态 资源得到满足或某事件已经发生,如外设传输结束;人工干预完成。
运行态-->就绪态 运行时间片到,或出现有更高优先权进程。
就绪态-->运行态 CPU空闲时被调度选中一个就绪进程执行。
试说明PCB的作用?为什么说PCB是进程存在的唯一标志? 主要的信息?
a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于
描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行
的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.
b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志.
c.标识信息 现场信息 控制信息
试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较.
a. 调度性。在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
b. 并发性。在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;
c. 拥有资源。无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身基本不拥有系统资源,但它可以访问其隶属进程的资源;
d. 开销。由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤消和切换进程时所付出的开销将显著地大于线程。
处理器调度分为:高级调度,中级调度,低级调度
高级调度:主要任务:在多道批处理操作系统中,从输入系统的一批作业中按照预订的调度策略挑选若干作业进入主存,为其分配所需资源,并创建作业的响应用户进程后便完成高级调度任务。
中级调度:根据主存资源决定主存中所能容纳的进程数目,并根据进程的当前状态来决定辅助存储器和主存中进程的对换。
低级调度:根据某种原则决定就绪队列中的哪个进程或者内核级线程获得处理器,并将处理器出让给它使用。
设备独立性
设备独立性,又称设备无关性,是指用户程序独立于所使用的具体物理设备,即用户只使用逻辑设备名即可访问所需要的物理设备,而不必关心物理设备的存在等细节。
解释并发性与并行性
并行性:是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上互相重叠,就存在并行性。
并发性:把两个或多个事件在同一时间间隔内发生的并行性叫做。
临界区:每个进程中访问临界资源的那段程序叫做临界区。进程对临界区的访问必须互斥,每次只允许一个进程进去临界区,其他进程等待。
临界资源:指每次只允许一个进程访问的资源,分硬件临界资源、软件临界资源。
临界区管理的基本原则是:①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
什么是信号量?如何对其进行分类?
答:一个进程在某一特殊点上被迫停止执行直到接收到一个对应的特殊变量值,这种特殊变量就是信号量,信号量按其用途分为公用信号量,私有信号量。信号量按其取值分为。二元信号量,一般信号量。
产生死锁的原因和必要条件?
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则
就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
存储管理的基本功能?
存储分配 地址映射 存储保护 存储共享 存储扩充
何谓地址转换(重定位)?有哪些方法可以实现地址转换?
为了保证程序的正确运行,必须把程序和数据的逻辑地址转换为物理地址,这一工作称为地址转换或重定位。地址转换有两种方式,一种方式是在作业装入时由作业装入程序(装配程序)实现地址转换,称为静态重定位;这种方式要求目标程序使用相对地址,地址变换在作业执行前一次完成;另一种方式是在程序执行过程中,CPU访问程序和数据之前实现地址转换,称为动态重定位。
什么时候虚拟存储器?列举采用虚拟存储技术的必要性和可能性!
虚拟存储器是指在具有层次结构存储器的计算机系统中,具有请求调入和交换功能,为用户提供一个比实际物理内存容量大得多的可寻址的一种存储器系统,它能从逻辑上对内存容量进行扩充。
采用虚拟存储器的必要性:传统存储管理方式要求将作业全部装入内存之后才能运行,这一特征导致大作业和多个作业要求运行时系统无法满足;另外,传统存储管理方式具有驻留性,即作业装入内存直到运行结束,便一直驻留在内存中。尽管进程在运行中会因I/O等原因而长期处于阻塞状态,或有的程序模块在运行过一次后就不再需要,但它们都仍将继续占用宝贵的内存资源。
采用虚拟存储器的可能性:根据程序的局部性定理,应用程序在执行之前,没有必要全部装入内存,而只需要将那些当前要运行的部分页或段先装入内存即可运行,其余部分可以仍然留在外存。
分页虚存的实现原理
请求分页虚拟存储管理是将进程信息的副本存放在辅助存储器中,当它被调度投入运行时,并不把程序和数据全部装入主存,仅装入当前使用的页面,进程执行过程中访问到不在主存的页面时,再把所需信息动态地装入
分段与分页的比较
分段是信息的逻辑单位,由源程序的逻辑结构及含义所决定,是用户可见的,段长由用户根据需要来确定,段起始地址可以从任何内存地址开始。在分段方式中,源程序经过连接装配后仍保持二维结构,引入目的是满足用户模块化程序设计的需要。
分页是信息的物理单位,与源程序的逻辑结构无关,是用户不可见的,页长由系统确定,页面只能从页大小的整数地址开始。在分页方式中,源程序经过链接装配后变成一维结构,引入目的是实现离散分配并提高内存利用率。
虚拟存储器的基本原理
虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。虚拟存储器指的是主存-外存层次,它以透明的方式为用户提供了一个比实际主存空间大得多的程序地址空间。
为什么引入缓冲技术?基本思想是什么?
1.缓和处理机和I/O设备间速度不匹配的矛盾
2.减少对CPU的中断次数
3.提高CPU和I/O设备之间的并行性
思想:当进程执行写操作输出数据时,先向系统申请一个输出缓冲区,然后把数据送到缓冲区,若是顺序写请求,则不断地把数据填入缓冲区,知道装满为止,伺候进程可以继续计算,同时系统将缓冲区的内容写到设备上。当进程执行读操作输入数据时,先向系统申请一个输入缓冲区,系统将设备上的一条物理记录读至缓冲区,根据要求把当前所需要的逻辑记录从缓冲区中选出并发送给进程。