1、操作系统:操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度,以及方便用户的程序的集合。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。
2、三种系统:
批处理系统:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业(jobs)之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。
●优点:
●作业流程自动化;
●效率高
●吞吐量高
●缺点:
●无交互手段
●调试程序困难
实时系统:实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。
分时系统:操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,在用户间快速切换,轮流为每个终端用户服务,每次服务一个时间片。系统的快速切换使用户感到整个系统只为自己所用。
优点:多道性、同时性、独立性、及时性、交互性
3、PCB
系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程,包含与一个特定进程相关的信息:进程状态、程序计数器、cpu寄存器、cp
u调度信息、内存管理信息、记账信息和IO状态信息。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的
4、论述短期,中期和长期调度之间的区别:
a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。
b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。
c.长期调度(作业调度程序):从进程的缓冲池中,确定哪些作业调入内存以执行.
它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。
5、试比较进程和程序的区别
答:进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:
(1)进程是程序在处理机上的一次执行过程,是一个动态概念;而程序是代码的有序集合,其本身没有任何运行的含义,是一个静态的概念。
(2)进程是一个状态变化的过程,是有生命期的,表现在它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡;而程序是永久的,可以长久保存。
(3)进程和程序的组成不同。进程由程序、数据和进程控制块组成,而程序仅是代码的有序集合。
(4)进程与程序之间不是一一对于的。通过多次运行,同一个程序可以对应多个进程过调用关系,一个进程可以包含多个程序。
6、
(1)进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
(2)线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行
的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
一个线程可以创建和撤销另一个线程;
一个进程一般拥有多个线程,至少拥有一个线程;
同一个进程中的多个线程之间可以并发执行
比较:
调度
传统的OS中,调度和分派的基本单位是进程,拥有资源的基本单位也是进程;
引入线程的OS中,调度和分派的基本单位是线程,拥有资源的基本单位是进程;
线程能轻装上阵,可显著地提高系统的并发度;
同一进程中,线程的切换不会引起进程切换;
不同进程中的线程之间的切换要引起进程的切换;
并发性
引入线程的系统中,进程之间可以并发执行,同一进程中的多个线之间也可并发执行,使系统具有更好的并发性,进一步提高了资源的利用率及系统的吞吐量;
拥有资源
进程是拥有资源的独立单位;
线程仅拥有比不可少的资源,可以访问其隶属进程的资源;例如进程的代码段、数据段及系统资源,如已打开的文件、I/O设备等,可供同一进程的线程共享;
系统开销
系统创建及撤销进程时的开销远远大于创建及撤销线程时的开销;
进程切换时的开销也远远大于线程切换时的开销;
由于同一进程中的多个线程具有相同的地址空间,致使他们之间的同步和通信的实现,也变得比较容易;
在有的OS中,线程的切换、同步和通信都无需OS内核的干预;
7、各种cpu调度算法总结:
FCFS:按照作业提交或进程变为就绪状态的先后次序,分派CPU; 当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。
算法实现简单且容易理解。比较有利于长作业,而不利于短作业。 有利于CPU繁忙的作业,而不利于I/O繁忙的作业。系统吞吐量小。
SJF:系统吞吐量大,平均周转时间短
有利于短作业,不利于长作业
如果采用抢先式调度,下一个CPU周期的长度无法精确获得,只能采用预测的方法。一个线程可以包含多个进程
轮转法调度:
过长->退化为FCFS算法,进程在一个时间片内都执行完,响应时间长。
过短->用户的一次请求需要多个时间片才能处理完,上下文切换次数增加,响应时间长。
优先级调度:根据进程紧急程度合理调度进程。
多级队列调度算法:根据进程的属性,将进程分配到一个队列,每个队列有自己的调度算法。
多级队列反馈调度算法:允许进程在队列间进行移动,例如如果进程过多占用CPU时间,它将被转移到更低的优先级队列。在较低优先级等待时间过长的进程,会被转移到更高优先级队列。
优点:可以动态调节,更加灵活;无需估计进程执行时间。
8、死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,每一个进程都在等待只能由本集合中的其他进程才能引发的事件,若无外力作用,
它们都将无法推进下去。
9、分页与分段的区别:
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论