操作系统原理

                                                                   操作系统

推荐一个操作系统的教程网站:http://c.biancheng.net/cpp/u/xitong_1/

1.操作系统的主要作用

         设备管理、进程管理、存储管理(内存管理)、文件管理(文件系统)。

2.操作系统的分类

              单道批处理系统、多道批处理系统、分时系统(Unix就是多用户分时系统)、实时系统(操作系统工作时对各种资源进行动态分配,处理事务的能力较强,速度较快)

3.进程管理:

进程概念:进程是具有独立功能的程序,是关于某个数据集合的一次运行过程。是处理器分配与运行的单位。

进程与程序的区别:1.程序是静态的是永久的,而进程是动态的有生命周期;2进程= 程序+数据+PCB(用来存储进程运行时的所有信息);3.一个程序可以对应多个

                               进程(程序多开)4.一个进程可以包含多个程序(这些程序可以看作是一个大程序)

进程的特征:动态、并发、独立、制约、异步

进程与作业:作业是计算机完成一个任务的总和,进程是完成一个程序的过程(作业进入了就绪状态开始到结束叫进程),后者是动态的。

进程与线程:线程是操作系统为了进一步提高效率,避免因进程间的切换耗费时间而引入的,之所以能提高效率是由于同一进程的线程间共享内存等资源,切换速度比较快。

                     但 由此也增加了系统管理的负担,需要有相应的线程调度算法。线程是基本的处理机调度单位,一个进程有独立的内存单元,线程则共享创建它的进程所拥有

                     的内存和其他资源,但线程是可独立执行的(他有自己的堆栈),一个进程可以有多个线程并发执行;
进程的并行与并发:某个时段,有多个程序运行叫并发(一段时间多个程序进入了内存,单道先后处理);某个时刻,有多个程序许运行叫并行(至少要有两个cpu)。并行

                               就只是并行,并发某些情况下有可能涵盖并行。

进程的运行状态:

                         创建:为程序分配内存空间,PCB等资源

                         就绪:具备分配CPU的条件等待运行

                         运行:分配到CPU,正在处理

                         等待:等待事件处理(I/O输入、资源),结束后进入就绪状态

                         结束:释放空间,系统记录进程整个运行信息。包括直接结束和连同子进程一起结束

父进程创建子进程:共享所有资源,共享一部分父进程资源,和不共享父进程资源。运行关系分为:并发(和子进程同时运行)和等待(等待子进程运行结束)

进程调度算法:1.先到先服务

                        2.最短作业优先调度

                        3优先级调度(无穷阻塞解决办法之一老化)

                        4.轮转法调度(分时操作系统的实现算法,缺点:过度依赖时间片(时间片至少要比上下文切换时间长))

                        5.多级队列调度(就绪对列根据进程类型分为多个组每个组都有自己的调度算法,组之间通常采用优先级调度)

                           与多级反馈队列调度(在多级队列调度的基础上允许进程在队列之间移动,等待时间过长移入优先级高的队列,

                           占用CPU时间过长移入优先级低的队列,通常将I/O约束和交互进程放在优先级高的队列)          

中断和轮询的特点: 

                        轮询:对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。

                                轮流询问之后,有要求 的,则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。尽管轮询需要时间,但轮询要比I/O

                                设备的速度要快得多,所以一般不会发生不能及时处 理的问题。当然,再快的处理机,能处理的输入输出设备的数量也是有一定

                                限度的。而且,程序轮询毕竟占据了CPU相当一部分处理时间,因此,程序轮询是一种 效率较低的方式,在现代计算机系统中已

                                 很少应用。

                   中断:程序中断通常简称中断,是指CPU在正常运行程序的过程中,由于预先安排或发生了各种随机的内部或外部事件,使CPU中断正

                                    在运行的程序,而转到为响应的服务程序去处理。

                         轮询——效率低,等待时间很长,CPU利用率不高。   中断——容易遗漏一些问题,CPU利用率高。

进程通信的方式:1.存储共享  2.消息传递 (阻塞和非阻塞两种)

相关推荐