操作系统的三个目标:
(1)方便:操作系统使计算机更易于使用
(2)有效:操作系统允许以更有效的方式使用计算机系统资源
(3)扩展的能力:在构造操作系统时,应该允许在不妨碍服务的前提下有效的开发,测试和引进新的系统功能
一.作为用户/计算机接口的操作系统:
最终用户不关心计算机的硬件细节,所以在他们眼里计算机系统就是一组应用程序。
最重要的系统程序就是操作系统,它为程序员屏蔽了硬件细节,并为程序员使用系统提供了方便的接口。它可以作为中介使程序员和应用程序更容易地访问和使用这些功能与服务。
简而言之,操作系统提供了以下几个方面的服务:
(1)程序开发:操作系统提供开发工具帮助开发程序。
(2)程序运行:操作系统为运行程序处理资源调度的问题
(3)I/O设备访问:每个I/O设备都有自己特有的指令集或控制信号,操作系统隐藏这些细节并提供统一接口,因而程序员可以简单的读和写来访问这些设备。
(4)文件访问控制:操作系统还必须详细了解存储介质中文件数据的结构。还可以提供保护机制来控制对文件的访问。
(5)系统访问:对于共享或公共系统,操作系统控制整个系统的访问以及对某个特殊系统资源的访问
(6)错误检测和响应:
(7)审计:收集对各种资源的审计,监控诸如响应时间之类的性能参数。
二.作为资源管理器的操作系统:
可以说一台计算机就是一组资源,而操作系统就是在控制数据的移动存储和处理。
操作系统作为控制机制他有两方面的不同之处
(1)操作系统与普通的计算机软件作用相同,也就是说,它是由处理器执行的一段程序或一组程序
(2)操作系统经常会释放控制,而且必须依赖处理器才能回复控制
操作系统实际也就是一组计算机程序,他们都给处理器提供指令,主要区别在于程序的用途
大致调用流程:
操作系统控制处理器使用其他系统资源,并控制处理器运行其他程序的时间安排,但是处理器为了做任何一件这类事情都必须停止执行操作系统程序,而去执行其他程序。因此,这时操作系统释放对处理器的控制,让处理器去做其他一些有用的工作,然后用足够长的时间回复控制,让处理器准备好做下一件工作。
三.操作系统的易扩展性:
一个重要的操作系统应该不断发展的原因:
(1)硬件升级和新型硬件的出现
(2)新的服务//要跟上工具的发展
(3)纠正错误
在构造系统时应该采用模块化的结构,清楚地定义模块间的接口,并备有说明文档。
2.2操作系统的发展(我个人觉得了解这些历史对于我们当今的学习没有什么太大作用估计面试也不会问吧)
(1)串行处理
(2)简单批处理系统
(3)多道程序批处理系统
(4)分时系统(当今采用的就是分时系统)
核心是多个用户分享处理器时间因而叫做分时
在分时系统中,多个用户可以通过终端同时访问系统,由操作系统控制每个用户程序以很短的时间为单位交替执行。