计算机操作系统

375 阅读9分钟

什么是计算机操作系统?

计算机操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。主要作用是负
责管理和协调计算机硬件设备,提高计算机硬件的利用率和系统的吞吐量,为上层应用和用户屏
蔽底层硬件的复杂性,便于用户使用。

操作系统的发展过程?

1.人工操作模式。CPU等待人工操作,CPU和I/O之间速度不匹配,CPU效率低。
2.单道批处理系统。程序独占CPU直到运行完毕,I/O操作时CPU处于空闲等待状态。
3.多道批处理系统。程序运行周期变长,应用五交互能力。
4.分时系统。
5.实时系统。

操作系统基本特征?

1.并发
2.共享
3.虚拟,CPU的时分复用,内存的空分复用。
4.异步,

操作系统的主要功能?

1.CPU管理功能。
2.存储器管理功能。
3.设备管理功能。
4.文件管理功能。

什么是微内核OS结构?

微内核OS是使用“机制和策列分离”的原理架构的操作系统,把操作系统中最基本和最接近硬件的
部分放在内核中,把其他绝大数功能比如进程管理、虚拟存储等放在内核外面作为服务器。采用
客户/服务器的模式,微内核提供的消息传递机制实现客户和服务器,服务器和服务器之间通讯。
无论通讯的目标位于那台机器上,为实现分布式应用提供保障。

为什么要引入进程?

为了提高操作系统的运行效率,引入了多道程序批处理系统,单纯的多道程序并发执行会失去程
序的封闭性和可再现性,程序变得不受控制,所以必须引入进程,对并发执行的程序加以描述和
控制。

进程的定义?

程序运行的时候会分配所需要的数据资源和创建一个控制程序运行的PCB数据结构,这三者构成进
程实体。进程是进程实体的运行过程的抽象,是系统进行资源分配和调度的一个独立单位。

进程和程序的区别?

1.程序是静态的字节片段,进程是动态的,有生命周期,从创建到终止。
2.并发的程序不保证独立性和可再现性,并发的进程可以做到。
3.进程是系统进行资源分配和调度的基本单位,程序和资源包括在进程中。

进程的特征?

1.动态性
2.并发性
3.独立性
4.异步性

进程有哪些状态?

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

PCB进程控制块的作用?

1.PCB控制块是系统判断一个进程的标志。
2.PCB可以保存CPU现场信息,允许进程间断性执行。
3.提供进程管理运行时需要的资源信息。
4.保存进程的状态,提供进程调度所需的信息。
5.实现和其他进程的同步与通讯。

操作系统如何创建进程?

window系统中,所有的进程都具有同等的地位,进程创建另一个进程时获得一个控制进程的句柄
其他的操作系统中进程有父进程和子进程的层次关系。

原语操作是操作系统给众多模块提供的一些基本功能。原语是由若干条指令组成的完成指定功能的一个
过程。这个过程要么全做。要么全不做。

1.调用creat原语。
2.申请空表PCB。
3.初始化PCB,写入进程标识符、处理状态和进程状态。
4.加入对应的进程队列。

进程如何实现同步?

硬件同步机制、信号量机制、管程机制

进程之间如何实现通讯?

//

有了进程,为什么还要引入线程?

在引入线程之前,进程作为资源分配和独立调度的基本单位,每次切换进程都要回收分配给当前进程的
资源并把CPU现场信息记录到PCB中,然后再为下一个调用的线程创建线程和分配资源,频繁的进程切换
要付出较大的时空开销,很大程度上限制了进程的并发数量。

进程是在解决单处理机多道批处理系统的背景下产生的,随着计算机体系结构的发展,出现了对称多处
理机计算机系统,进程只能独占一个CPU处理机,限制了系统的并发能力。

引入线程之后,进程作为资源分配的基本单位,线程作为系统调度和分配的基本单位,同一个进程中可
以并发执行多个线程,线程的低开销时空切换,提高了系统的并发能力。

进程和线程的区别?

// 基本单位
进程作为系统分配资源的基本单位,独占系统资源,
线程作为系统调度和分配处理机的基本单位,共享所属进程的资源。

// 并发性
在使用线程的情况下,不仅进程可以并发执行,同一进程之间的所有线程和不同进程的线程都可以并发
执行,线程提高了线程的并发能力和系统资源的利用率和吞吐量

// 拥有资源
进程是拥有系统资源的一个基本单位,线程本身不拥有系统资源,只有保障线程运行的TCB控制块、寄
存器和堆栈。所以操作系统在创建、撤销和切换线程时,所付出的开销比进程更小。

// 支持多处理机系统
在多处理机系统中,传统的进程即单线程进程只能在一个处理机上运行,有了线程后,一个进程可以创
建多个线程在多个处理机上并发执行。

处理机的调度层次?

1.高级调度,对象是作业,主要负责根据某种算法,从外存的后备队列中选择作业调入内存中。
2.中级调度,对象是进程,把暂时不能执行的进程对换出内存的就绪或者是阻塞队列中。
3.低级调度,对象是进程,利用某种算法把后备就绪队列中选择某个进程分配CPU执行。

什么是作业?

作业是一个比程序更加广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明,系
统根据说明书来对程序的运行进行控制。

每一个作业进入系统时,便由“作业注册”程序为该作业建立一个作业控制块JCB。再根据作业类型,将它
放到相应的作业后备队列中等待调度,作业调度算法将根据一定算法和JCB内容选择合适的作业进入内存
,执行完毕后,系统回收已分配的资源,撤销作业控制块。

作业调度算法?

1.先来先服务。
2.短作业优先。
3.优先级调度算法。
4.高响应比优先算法。

进程调度算法?

1.抢占式调度算法。
2.非抢占式调度算法。
3.轮转调度算法。
4.优先级调度算法。
5.多级反馈队列调度算法,优先级降低,时间片变长。

什么式计算机的死锁?

死锁就是在一个进程组中,每个进程都在等待所在进程组中的其他进程才能引发的事件或者是释放的资
源,那么这个进程组就构成死锁。

1.竞争抢占不可抢占资源。
2.竞争可消耗资源。
3.进程执行顺序不当。

死锁的必要条件?

1.互斥条件。
2.请求和保持条件。
3.不可抢占条件。
4.循环等待条件。
死锁必须同时具备着四个条件,一个不成立死锁就不会发生。

如何预防死锁?

破坏“请求和保持”条件:
1.第一协议:必须一次性请求所有的资源
2.第二协议:一开始请求部分资源,全部释放持有的资源时才能重新申请资源。

破坏“不可抢占”条件:
1.提出资源申请时,如果得到满足,必须释放所有的持有资源,等待足够的资源在运行。

破坏“循环等待”条件:
1.为所有的资源设备按照小到达排序,每次请求资源时只能按照从小到大请求资源,请求比持有的资源
的序号小时,必须释放大序号的资源。

如何避免死锁?

如何检测死锁?

如何解除死锁?

多层次的存储器结构?

寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质。

什么是虚拟存储器?

传统存储器管理方式要求调入内存的作业必须一次性全部调入内存,大于内存的程序无法运行,在调入
内存执行后,整个作业都要驻留在内存中无论会不会用到,占用了宝贵的内存资源。

程序运行的时候会有局部性现象,程序在较短的时间内执行只限于程序的某个片段,访问的存储空间也
只限于某块存储区域。

虚拟存储器指的是具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器。程序
运行的时候只把运行相关的一小部分程序资源调入内存,但遇到内存没有的页面时,促发缺页中断机制
,把需要的页面调入内存,当内存不足时,根据页面置换算法把不使用的页面换出内存。

常见的页面置换算法?

1.最佳置换算法。
2.先进先出置换算法。
3.最近最久未使用置换算法。
4.最少使用页面置换算法。