操作系统的定义:
操作系统(OS,Operateing System)是配置在计算机硬件上的第一层软件。
操作系统的目标:
1 有效性:(1)提高系统资源利用率(2)提高系统吞吐量
2 方便性:使计算机更容易使用
3 可扩充性
4 开放性
操作系统的作用:
OS作为用户与计算机硬件之间的接口;
OS作为计算机系统资源的管理者;
OS实现了对计算机资源的抽象;
它是铺设在计算机硬件上的多层系统软件。
操作系统的发展:
1 早期无操作系统的计算机系统采用人工操作方式和脱机输入/输出方式。
2 脱机输入/输出方式:该技术事先将装有用户程序和数据的纸带(或卡片)装入进纸带输入机(或卡片机),在一台外围机的控制下,把纸带上的数据输入到磁盘上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。类似,当CPU需要输出的时候,可由CPU直接高速地把数据从内存送到磁带上,然后在另一台外围机的控制下
将磁带上的结果通过相应的输出设备输出。
3 单道批处理系统:把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在他的控制下使这批作业依次连续处理,它是操作系统的前身。
4 多道批处理系统:标志着OS的形成。该系统可以使多个作业交替执行。
优点:资源利用率高,系统吞吐量大;
缺点:平均周转时间长,无交互能力;
5 后来出现分时系统 如UNIX,其语序同时为多个用户服务,但每个用户各占一个进程,互不相干,用户的请求能被及时响应,且用户可以请求系统提供多方面服务。之后出现了实时系统能够快速反应和控制外部设备,这对系统的可靠性提出了更高要求。
6 微机操作系统的发展:分为单用户单任务操作系统(如MS-DOS),单用户多任务操作系统(如Windows95,WindowsXP),多任务操作系统(如LINUX)。
操作系统的基本特性:并发,共享,虚拟和异步。
并发性:
1 并发:在一段时间内宏观上有多个程序在同时运行,微观上程序只能是分时交替执行;并行指两个或多个事件同时发生。
2 引入进程,实现多个程序能并发执行。
3 引入线程,作为独立运行和调度的基本单位,进一步提高了系统的并发性。
共享性:
资源复用的方式有以下两种:
1 互斥共享方式:尤其是对临界资源(如打印机,某些软件中所用到的栈、变量、表格),必须建立机制保证这些资源被互斥的使用。
互斥式共享:当一个进程A要访问某个资源时,必须先提出请求。如果该资源空闲,系统则将该资源分配给进程A。此后若再有其他进程来访问该资源,只要进程A没用结束,
则必须等待。进程A使用结束后,释放该资源,其他进程才可使用。
2 同时访问方式:允许同一时段内,多个进程同时访问某一资源(如磁盘)。
虚拟技术:
时分复用技术分为虚拟处理机技术和虚拟设备技术。
空分复用技术分为虚拟磁盘技术、虚拟存储器技术。
异步性:
因为资源等因素的限制,使得各进程以人们不可预知的速度向前推进。
操作系统的主要功能:
处理机管理功能:
进程控制、进程同步(进程互斥方式以及进程同步方式)、进程间通信、调度(作业调度,进程调度)。
存储器管理功能:
1 内存分配:内存分配分为动态和静态两种。内存分配数据结构,内存分配功能,内存回收功能。
2 内存保护:确保每道应用程序在自己的内存空间里运行。
3 地址映射:将地址空间中的逻辑地址转换为内存中与之对应的物理地址。
4 内存扩充:借助虚拟存储技术,从逻辑上去扩充内存容量
设备管理功能:
1 缓冲管理:在CPU与IO设备之间引入缓冲,缓和CPU与I/O设备不匹配的矛盾。
2 设备分配:根据用户进程的I/O请求,系统的现有资源情况以及按照设备的某种分配策略为之分配所需设备。
3 设备处理:设备处理程序又称设备驱动程序,其基本任务即实现CPU与设备控制器之间的通信。
4 文件管理功能:文件存储空间的管理、目录管理、文件的读/写管理保护。
操作系统与用户之间的接口:
分为用户接口和程序接口:
1 用户接口:联机用户接口、脱机用户接口(批处理作业)、图形用户接口。
2 程序接口:每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。
OS结构设计:
传统的操作系统结构分为无结构操作系统、模块化结构OS、分层式结构结构OS(即自底而上)
客户/服务机模式
面向对象的程序设计
微内核OS结构(如window2000/XP)