操作系统原理总结
1、操作系统的功能:
<1>进程管理:
进程控制:在多道程序环境中,进程是操作系统进行资源分配的单位,进程控制的主要任务是创建进程、撤销结束的进程以及控制进程各种状态间的转换。
进程同步:多个进程的执行是并发的,以异步的方式运行。操作系统提供进程同步机制来协调,协调方式主要包括互斥和同步。互斥指的是对计算机的临界资源在多个进程同时提出访问时采用互斥的方式进行;同步指的是多个进程需要相互协助完成任务时协调执行顺序。
进程通信:进程间通信主要发生在相互协作的进程之间。
调度:又称处理器调度,包括进程段调度、线程调度和作业调度等。
<2>存储管理:
其任务是管理计算机内存(不包括硬盘之类的外存)的资源。主要分为三个方面:为多个共享有限内存的程序分配内存(内存的分配和回收);存放在内存中的多个程序和数据彼此不能干扰(存储保护);解决内存扩充的问题(内存扩充)。
<3>文件管理
计算机中的信息资源以文件的形式存储在外存中,需要时再将其装入内存。文件系统:存储管理、目录管理、安全管理。
<4>设备管理
设备管理指的是除CPU和内存之外的所有输入输出设备。
<5>用户接口
接口管理的任务是为用户提供一个使用系统的良好环境。
2、常见操作系统的结构
<1>整体式结构
<2>层次式结构
<3>微内核结构(C/S)
3、操作系统的运行机制
<1>CPU
<2>存储体系
<3>中断/异常
<4>系统调用
<6>I/O技术
<7>时钟
4、进程线程模型
程序并发执行:指两个或者两个以上程序同时在计算机上已经开始执行,且尚未完结的状态。
<1>进程模型
a、进程和程序的联系与区别:程序是构成进程的组成部分之一,进程的运行目标是执行其所对应的程序;进程是由程序、数据和进程控制块三部分组成。程序是静态的,进程是动态的。进程是程序的执行过程,是有生命周期的而程序是永远存在的。一个进程可以执行一个或者多个程序,一个程序也可以构成多个进程。
b、进程的特性:并发性、动态性、独立性、交往性、异步性。
c、进程的三状态模型:运行(已经获得了CPU并在CPU上)、就绪(一个进程已经具备运行条件,但没有获得CPU)、等待(也称为阻塞或者封锁状态,进程因等待某件事件发生而暂时不能运行的状态)。
e、进程的五状态模型:创建、等待、就绪、运行、退出。
f、进程的七状态模型:创建、就绪挂起、就绪、运行、阻塞、阻塞挂起、退出。挂起的进程处于内存中,其余的进程处于内存中。挂起就是把一个进程从内存转移到外存。激活是把一个进程从外存转移到内存。
g、进程控制:通过原语实现。原语通常由若干条指令所组成用来实现某个特定的功能,通过一段不可分割的或者不可中断的程序实现其功能。常见的原语包括:创建进程
、撤销进程、挂起进程、激活进程、阻塞进程、唤醒进程以及改变优先级等。
h、unix下的fork()的使用。
<2>线程模型
进程有两个基本的属性:即进程是是一个可以拥有资源的独立单位,同时又是一个可以独立调度和分派的基本单位。进程的切换、创建和撤销需要消耗很大的时空开销,因此系统中不能有太多的进程并发执行。线程是进程中的一个实体,是CPU调度和分派的基本单位,线程基本上自己不拥有资源,只需一点运行中必不可少的资源,但可以与其他线程共享同属一个进程的资源。一个线程可以创建或者撤销另一个线程,同属一个进程的多个线程可以并发的执行。
<3>并发与同步
5、内存管理
<1>分区存储管理方案
<2>页式存储管理方案
<3>虚拟存储
6、文件管理
<1>文件的结构
<2>文件的目录
<3>文件系统
7、I/O设备管理
8、死锁