- OS的目标
方便性:用户无需了解底层硬件,无需用0、1机器语言操作。(可以说不用手,用工具,进入石器时代了。)
有效性:CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。
可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。
开放性:网络环境,遵循开放互联标准。 - OS的作用
- 作为用户与计算机硬件系统之间的接口
- 达成了方便性的目标。*
用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
2)OS作为计算机系统资源的管理者
3)OS用作扩充机器
操作系统是:
一组控制和管理计算机硬件和软件资源,
合理地对各类作业进行调度(多道),
方便用户使用的程序的集合。
各种典型操作系统各有特色,但均具有共同的基本特征:并发、共享、虚拟、异步
操作系统的主要功能:
处理机管理功能(作业管理)
存储器管理功能
设备管理功能
文件管理功能
用户接口
1.处理机管理功能
传统多道程序系统,处理机分配和运行都以进程为基本单位,对处理机的管理,就是对进程的管理。引入线程后,也包括对线程的管理。
主要解决内存中多道并发执行的“进程”如何占用CPU,如何运行的问题。
1)进程控制:
为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等。
(可理解为对单个进程基本信息进行管理)
2)进程同步:
为多个进程运行进行协调(包括互斥和同步)
3)进程通信:
用来实现在相互合作进程间的信息交换;(直接通信和网络通信)
4)调度:
作业调度(入内存)和进程调度(分配CPU)
2. 存储器管理功能
1)内存分配:为每道程序分配内存空间(包产到户)具体分配涉及许多细节:
分配方式:动态、静态
分配机制需要的数据结构、分配算法、回收内存功能
2)内存保护:确保每道用户程序都只在自己的内存空间中运行
需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查
3)地址映射(变换):进程的逻辑地址到内存物理地址的映射。
程序编译形成的目标程序地址都是从0开始,是逻辑地址
真正调入内存某个空间存放的地址是物理地址
4)内存扩充:用虚拟存储技术解决内存容量不足的问题;
请求调入功能
页面置换功能
3. 设备管理功能
1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
2)设备分配:按某种设备分配策略,为之分配所需的设备;
应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同
3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。
4. 文件管理功能
1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度;
需要相应的数据结构,记录文件存储空间的使用情况;要有对存储空间分配和回收的功能
2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享。
3)文件的读写管理和保护:读写操作与有效的存取控制功能。
5. 用户接口
1)命令接口
用户可通过键盘终端发出命令以控制作业的运行。
联机用户接口:由一组磁盘操作命令和命令解释程序组成。
脱机用户接口:由一组作业控制语言组成,如批处理文件。
2)程序接口
用户程序在执行中访问系统资源而设置,由一组系统调用组成。
早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。
3)图形接口