2.1操作系统的目标和功能
操作系统提供以下几方面的服务
- 程序开发
擦做系统提供各种各样的工具和服务。帮助程序员开发程序。
这些服务以实用工具的形式出现,严格来说并不属于操作系统信息的一部分,它们有操作系统提供,称为应用程序开发工具。 - 程序运行
操作系统为用户处理程序运行的操作 - IO设备访问
操作系统移隐藏OI设备特有的指令集和控制信号,并提供统一的机构,程序员员可以使用简单的读写操作来访问这些设备。 - 文件访问控制
- 系统访问
访问功能模块必须提供对资源和数据的保护,避免未授权的用户访问,同时解决资源竞争时的冲突问题 - 错误检测和响应
计算机系统运行时可能发生各种错误,包括内部和外部硬件错误,如存储器错误,设备失败或故障,以及各种软件错误如算数移除,越界访问,错做系统无法满足应用程序的请求等。 - 记账
操作系统手机各种资源的利用率统计数据。
典型计算机系统中的三个重要的接口:
- 指令系统体系结构(ISA)
定义计算机遵循的机器语言指令系统,汇编 - 应用程序二进制接口(ABI)
定义程序间二进制可移植性的标准。
定义了操作系统的系统调用接口 - 应用程序编程接口(API)
API云心应程序访问系统的硬件资源和服务,这些服务有用户级ISA和高级语言(HLL)库提供。
使用API能让软件更容易通过重新编译移植到其他具有相同API的系统中
2.2操作系统发展
2.2.1串行处理
程序员直接与计算机硬件打交道,没有操作系统,这些机器都是在一个控制台上运行。
2.2.2简单批处理系统
也称为批处理操作系统
简单批处理方案的中心思想是使用一个成为监控程序的软件,通过使用这类操作系统,用户不能直接访问机器。用于吧磁带或卡片中的作业提交给计算机操作员,计算机操作员把作业按顺序组织成一匹,然后放到输入设备上,供监控程序使用。程序完成处理后返回到监控程序。然后监控程序自动加载下一个程序。
- 监控程序角度
监控程序控制实物的顺序,大多监控程序总是存于内存中可移植性,成为常驻监控程序。其他部分包括实用程序和公共函数,他们作为用户程序的子程序,在需要到他们作业开始执行时被载入。
监控程序从输入设备读取一个作业。读入后作业呗防止在用户程序区域。然后把控制权交给这个作业。当作业完成后,它将控制权返回给监控程序,然后处理下一个作业。作业的结果发送到输出设备。 - 处理器角度
监控程序完成调度功能,一批作业排队等候,处理器尽可能迅速的执行作业,没有任何空闲时间。
监控程序还考虑了其他功能:
- 内存保护
当用户程序正在运行时,不能改变含监控程序的内存区域。如果用户程序访问监控 程序的内存区域,处理器将发现错误,并将控制权转一个监控程序。停止作业,输出错误信息,加载下一个作业。 - 定时器
防止一个作业独占系统。在作业开始时,设置定时器,如果定时器时间到,用户程序背挺直,监控权返回给监控程序 - 特权指令
某些计算机指令是设计成为特权指令,只能由监控程序执行。
如果处理器运行在用户程序时遇到这类指令就会发生错误,并将控制权转一个监控程序。
IO指令属于特权指令,因此监控程序可以控制所有IO设备。 - 中断
早起计算机模型没有中断能力,这个特征使操作系统让用户程序放弃控制权,或从用户程序获得控制权具有更大的灵活性
2.2.3多道批处理系统
对于简单批处理操作系统,由于要等待IO所以处理器任然是进场空闲的。
当内存空间容得下操作系统 和两个用户程序时,当一个作业需要IO时,处理器可以切换到另一个可能不需要等待IO的作业。进一步的存储器可以保存更多的作业。这种处理成为多道程序设计或多任务处理,是现代操作系统的主要方案。
多道程序设计有用的显式辅助功能是支持IO中断和直接存储器访问(DMA)的硬件。
当多个作业都准备运行时,处理器必须准备运行哪一个,这就需要调度算法。
2.2.4分时系统
当需要处理多个交互作业时,由于多个用户分享处理时间,因而该技术成为分时。
分时系统中,多个用户通过终端同时访问系统,每个用户程序以很短的时间为单位进行交替执行。因此如果有n个用户同时请求服务,程序评分计算机的有效速度。
2.3操作系统中重要概念
进程,内存管理,信息保护和安全,调度和资源管理
2.3.1进程
进程式操作系统设计的核心