目标和功能
操作系统是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口。
三个目标:方便、有效、扩展能力。
发展
串行处理
用户必须顺序访问计算机,手工阶段。
简单批处理系统
中心思想是使用一个称作监控程序的软件,用户不在直接访问机器,让监控程序负责结果记录和任务程序加载。
优点:缓解人机速度矛盾,资源利用率提升;
缺点:内存中仅有单位程序运行,CPU空闲。
多道程序设计批处理系统
存储器保存多个程序,当一个程序需要等待时,处理器切换到另一个不在等待的程序。这种处理称作多道程序设计或多任务处理,他是现代操作系统的主要方案。
优点:多道程序并发执行,共享计算机资源;
缺点:没有人机交互功能。
分时系统
多个用户分享处理器时间,该技术称为分时。在分时系统中,多个用户可以通过终端同时访问系统,由操作系统控制每个用户程序以很短的时间为单位交替执行。
在固定的时间间隔内,当前用户被剥夺,另一个用户被载入,这项技术为时间片技术。切换时保存上下文,
缺点:不能优先执行一些紧急任务。
主要成就
进程
定义:
- 一个正在执行的程序。
- 计算机中正在运行的程序的一个实例。
- 可以分配给处理器并由处理器执行的一个实体。
- 由单一的顺序的执行线程、一个当前状态和一组相关的系统资源所描述的活动单元。
进程协调造成的错误:
不正确的同步、失败的互斥、不确定的程序操作、死锁。
执行上下文又称为进程状态,是操作系统用来管理和控制进程所需的内部数据。
内存管理
职责:
- 进程隔离
- 自动分配和管理
- 支持模块化程序设计
- 保护和访问控制
- 长期存储
信息保护和安全
操作系统的一个关键任务是管理各种可用资源,并调度各种活动进程使用这些资源。任何资源分配和调度策略必须考虑三个因素:
- 公平性
- 有差别的响应
- 有效性
系统结构
现代操作系统的特征
多线程技术是指把执行一个应用程序的进程划分成可以同时运行的多个线程。线程和进程的差别:
- 线程:可分派的工作单元。它包括处理器上下文环境(包含程序计数器和栈指针)和栈中自己的数据区域。线程顺序执行,并且是可以中断的,这样处理器可以转到另一个线程。
- 进程:一个或多个线程和相关系统资源的集合。这紧密对应于一个正在执行的程序的概念。