一、操作系统的目标和作用
1.1 目标
方便性:易学易用(GUI、各种api、硬件之上)
有效性:提高资源利用率(cpu、内存)、提高系统吞吐量
开放性:基于相同的OSI标准、各种OS可兼容
可扩充性:无结构->模块化->层次化->微内核
1.2作用
1.2.1 作为用户与计算机硬件的接口

1.2.2 作为计算机系统资源的管理者
计算机资源:处理机、存储器、IO设备、文件(数据、程序)
处理机:分配与控制
存储器:分配与控制
IO设备:分配与回收、操纵
文件:读写、共享、保护
协调竞争资源,比如多用户等
1.2.3 实现了对计算机系统资源的抽象
OS是铺设在计算机硬件之上的多层软件集合、隐藏了对硬件操作的具体细节、增强了系统的功能、实现了对计算机硬件多个层次的抽象
二、操作系统的发展过程
2.1 操作系统发展的动力
2.1.1不断提高的计算机资源利用率
2.1.2方便用户
gui、多用户
2.1.3器件不断更新换代
微机芯片不断升级换代:8->16->31->64位
2.1.4计算机体系不断发展
单处理机=》多处理机
网络操作系统等
2.1.5不断提出新的应用需求
工业控制系统-》智能设备
2.2操作系统发展的过程
2.2.1未配置操作系统
人工操作:cpu被人工的输入输出拖慢,严重降低了cpu的利用率
脱机输入/输出:人工操作变为外围机
2.2.2单道批处理系统
cpu(输入、输出时cpu空闲)、内存利用率低(内存中只有一个程序,只能按照内存最大的程序配置内存)
2.2.3多道批处理系统
核心推动力:资源然利用率、系统吞吐量
核心缺陷:无法人机交互
2.2.4分时系统
核心推动力:人机交互、共享主机
关键问题:及时接收、及时处理
2.2.5实时系统
2.2.6微机系统
单用户单任务-》单用户多任务-》多用户多任务
三、操作系统基本特性
3.1 并发
并发:是指在某一段时间内多个程序交替执行。在单CPU的操作系统上,并发是指多个程序在系统分时交替运行;在多cpu的操作系统上,程序可能会被分配多个cpu执行,可能会达到多个程序并行执行的效果
并行:在某一时刻多个进程同时执行
进程:运行中的程序,系统中能独立运行和资源分配的基本单位、是由一组机器指令、数据和堆栈组成的能独立运行的实体
3.2 共享
类型:资源共享、资源复用
3.3 虚拟
时分复用:CPU的空闲(比如cpu和IO的速率不对等)
空分复用:本质上是内存的分时复用
3.4 异步
内存、io速度不对等;程序是走走停停的
四、操作系统的主要功能
4.1 处理机功能
用于创建和撤销进程、对进程进行协调、进程间信息交换以及按照一定的算法给处理机分配给CPU
4.1.1进程控制
4.1.2进程同步
锁、型号量
4.1.3进程通信
4.1.4进程调度
作业调度、进程调度
4.2 存储器的功能
为程序提供良好的运行环境,提高内存的利用率,方便用户使用。具有内存分配、回收、保护、扩充、地址映射等功能
4.2.1 内存分配
动态分配、静态分配
4.2.2内存保护
4.2.3地址映射
4.2.4内存扩充
4.3 设备管理功能
分配、操作IO设备、提高CPU利用率。(分配设备、缓冲功能、虚拟设备功能)
4.4 文件管理功能
对用户文件、系统文件的管理,方便用户使用并保证文件的安全性。包括文件空间管理、文件管理、目录管理,文件的共享和保护等功能
4.5 操作系统与用户之间的接口
用户接口:联机用户接口、脱机用户接口、图形界面用户接口
程序接口
4.6现代操作系统新功能
4.6.1 系统安全
密码技术、认证技术、访问控制技术、反病毒技术
4.6.2 网络功能和服务
4.6.3 支持多媒体
五、操作系统的结构设计
无结构-》模块化-》层次性-》微内核
微内核:足够小的内核、采用CS服务模式、机制与策略分离(机制是指某些功能的具体执行、策略是对执行的参数等的优化、机制位于底层)、面向对象技术
5.1微内核的功能
5.1.1线程、进程管理
5.1.2低级存储器管理
用户空间的逻辑地址转换为硬件的物理地址
5.1.3中断和陷入管理
5.1.4微内核的优缺点
优点:可扩展性、可靠性、可移植、分布式支持,融入了面向对象技术
缺点:主要是多层次结构导致效率降低了