操作系统引论
概述
计算机系统由硬件和软件组成。从用户角度,OS是用户与计算机硬件系统间的接口。从资源管理角度,OS是计算机系统资源管理者。OS实现对计算机资源的抽象,隐藏了操作细节,更方便的使用机器。
操作系统目标
系统资源
- 处理器
- 存储器
- I/O设备
1.提高系统资源利用率和吞吐量
未配置OS的计算机系统中,CPU,内存,外存,I/O设备各种资源得不到充分利用。配置OS后,能使各种资源能充分利用。
2.更方便使用计算机硬件资源
硬件只能识别0,1机器码,要运行用户软件需要用机器语言编写软件,配置OS后,可以方便的使用计算机。
3.可扩充性的适应硬件,体系结构及应用发展
方便的增加新的功能和模块,并能修改老的功能和模块
4.方便应用程序移植和互操作
操作系统作用
OS作为用户与计算机硬件系统间的接口
用户在OS帮助下能方便,快捷,安全,可靠的操作硬件和运行自己的程序。
OS作为计算机系统资源的管理者
- 处理机管理,用于分配和控制处理机
- 存储器管理,负责内存的分配和回收
- I/O设备管理,负责I/O设备的分配与操作
OS实现了对计算机资源的抽象
在裸机上铺设的I/O软件隐藏了对I/O设备操作的细节,用户能更方便的操作硬件
操作系统发展
无操作系统
单道批处理系统
- 由系统中的监督程序将磁带上的第一个作业装入内存,并把控制权交给作业。
- 作业处理完成,又把控制权交给监督程序,再把第二个作业调入内存,直到磁带上的所有作业全部完成。
- 由于系统对作业的处理都是成批进行的,且内存中始终值保持一道作业,称此系统为单道批处理系统.
多道批处理系统
单道批处理系统中,内存中仅有一道作业,无法充分利用系统中的所有资源,系统性能较差。
- 用户提交的作业预先存放在外存排成一个后备队列
- 作业调度程序按一定算法从后备队列中选择若干作业调入内存,让他们共享CPU和其他资源
- 缓和了CPU和I/O设备速度不匹配的矛盾
特点
- 提高CPU利用率 当内存仅有一道程序时,该程序发出I/O操作后,CPU空闲,必须在I/O完成后CPU才继续运行。内存中有多个程序时,当1个作业因I/O暂停运行时,系统可调度另一个程序运行,保持CPU处于忙碌状态
- 提高内存和I/O设备利用率
- 增加系统吞吐量.
分时系统
一台主机上连接了多个带有显示器和键盘的中断,同时允许多个用户登录,操作计算机。系统按分时原则为每个用户服务,实际上每个用户作业轮流运行一个时间片。
实时系统
系统能及时响应外部事件,规定事件内完成事件处理,并控制实时任务协调一致运行
需要解决的问题
- 处理机管理问题,如何分配多道程序共享CPU
- 内存管理问题,独立空间
- I/O设备管理
- 文件管理
- 作业管理
微机操作系统
- 单用户单任务
- 单用户多任务
- 多用户多任务
操作系统的基本特性
并发性
并行
两个或多个事件同一时刻发生
并发(Concurrence)
两个或多个事件在一段时间内同时发生。但在单处理系统中,每一时刻仅能有一道程序执行,这些程序只能是分时交替执行。在多处理机中,这些程序被分配到多个处理机上,实现并行执行。
引入进程
操作系统中引入进程的目的就是为了使多个程序能并发执行。进程是指在系统中能独立运行并作为系统资源分配的基本单位,它是由一组机器指令,数据和堆栈组成的一个能独立运行的活动实体。
引入线程
在引入线程的OS中,进程作为分配资源(cpu,存储空间,I/O设备等)的基本单位,线程作为独立运行和独立调度的基本单位。
共享性
系统中的资源可供内存中多个并发执行的进程(线程)共享。
互斥共享方式
当进程A提出访问某资源时,如果空闲,系统便分配给A使用。此后若再有其他进程也要访问这个资源(A未用完),则必须等待。 把一段时间内只允许一个进程访问的资源称为临界资源。计算机系统中的大多数物理设备,以及软件中所使用的的栈,变量,表格等都属于临界资源。
同时访问方式
磁盘设备。在单处理机环境下进程可能是交替对该资源进行访问。
虚拟技术
操作系统中的虚拟指通过某种技术把一个物理实体变为若干个逻辑上的对应物。前者是实的,后者是虚的。
异步性
进程的执行通常都不是一次性完成的,而是走走停停的方式运行,内存中每个进程以不可预知的速度向前推进,即进程的异步性,只要操作系统由完善进程同步机制,且运行环境相同,作业多次运行都会获得完全相同的结果。
操作系统的主要功能
处理机管理功能
进程控制
为作业创建进程,撤销已结束的进程,控制进程在运行过程中的状态转换。
进程同步
进程通信
为提高应用程序效率,在系统中尽力多个进程,并为每个进程建立若干线程,由这些进程(线程)相互合作去完成一个共同任务。而这些进程或线程之间又需要交换信息。
调度
作业调度
从后备队列中按照一定算法,选择出若干个作业,为他们分配运行所需的资源,调入内存后为他们建立进程,使得他们成为处理机的就绪进程,并按照一定算法插入就绪队列
进程调度
多线程OS中,是把线程作为独立运行和分配处理机的基本单位,每次调度时,是从就绪线程队列中选出一个线程,把处理机分配给它。
存储器管理功能
内存分配
为每道程序分配内存空间,提高存储器的利用率,减少不可用的内存空间。允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。同时具备回收的功能。
内存保护
确保每道程序都只运行在自己的内存空间内,彼此互不干扰。不允许用户程序访问OS程序和数据。
地址映射
应用程序编译链接后的可执行程序的地址都是0开始,程序中的其他地址都是相对于起始地址计算的。多个程序运行时不可能都是从0开始转入内存,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中的物理地址,需在硬件的支持下完成。
内存扩充
若发现内存中无足够空间装入需要调入的程序和数据时,系统能将内存中的一部分暂时不用的程序和数据调至磁盘,腾出内存空间。
设备管理功能
管理计算机系统中所有外围设备
文件管理功能
操作系统与用户之间的接口
用户接口
提供给用户使用,用户可通过该接口取得OS的服务
程序接口
提供给程序员在编程时使用的接口,且是用户程序取得OS服务的唯一途径。由一组系统调用组成。
- 原文作者:niep
- 原文链接:http://www.fdgggy.com/2019/10/13/yinlun/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。