赞
踩
在最早期的计算机中,并没有能够称得上是操作系统的服务管理程序,例如早期的串行处理计算机,就是人们把程序一个一个输入进计算机,设定好预计时间,然后让操作系统进行执行。这样的串行处理存在着调度不合理,准备时间长的问题,并不便于使用。
于是人们想方设法希望可以设计出便于使用的操作系统,而到现代,计算机已经普及,大众对于操作系统的要求更加严格,企业和实验室对操作系统的研究需要从交互性,容错性,安全性等各个方面考虑,这也是操作系统逐渐进步走向智能的道路。但是操作系统的设计一共可以总结为三个大目标:方便,有效,易扩展。
如上图,操作系统是连接计算机硬件与用户的桥梁,发展至今其在计算机体系中起着至关重要的作用,我们可以将操作系统视作一个普通的软件,面向普通用户,用户往往不关心计算机硬件,操作系统需要让计算机底层细节对用户透明,提供用户方便的使用体验,包括基本的程序创建,文件管理,I/O控制,内存管理等功能;而对程序员,操作系统需要像程序员隐藏硬件细节,开发通用开发工具、服务、库、接口等。因此操作系统的功能可以列举如下:程序开发,程序运行,I/O设备访问,文件访问控制,系统访问,错误检测和响应,记账。
对于操作系统的扩展性,有着高度要求,因为操作系统需要不断进步,不断扩展以应对新的服务,新的硬件,或者错误纠正等情况的发生,因此操作系统一般多使用模块化的结构,各个模块组件之间相互配合共同完成工作。
最早期的计算机就是利用普通的串行处理完成工作,就是人们把程序一个一个输入进计算机,设定好预计时间,然后让操作系统进行执行,这样的方式有以下两个问题。
1、调度不合理。如果程序没有在预计时间内运行成功则会强制停止,而如果超预期提前执行完毕,用户也不得不等待预计时间结束才可以放入下一个程序。
2、准备时间长。这样的串行处理操作系统需要人们自己加载编译器,源程序,加载目标程序进行连接,在此期间需要安装或拆卸磁带,十分麻烦,一旦失败只能重新来过,因此在程序运行的前期准备阶段要花费大量时间。
批处理操作系统内部使用了一个监控程序,人们将想要执行的程序放入输入设备,监控程序则负责依次自动从输入设备中调入程序进入内存,指挥处理器进行执行,当执行完毕或遇到错误时都会停止当前程序执行,进而调入下一个程序进行执行,执行结果将会放入输出设备。
监控程序此时充当了操作系统的角色,当调入程序时指挥权暂时交给程序,当执行结束或者出错指挥权将重新换回监控程序。这里指挥权仅仅代表当前情况下处理器从哪个程序中读取代码进行执行。
批处理系统已经有了些操作系统的雏形,但是此时的操作系统一次只能读入一个程序放入内存,调度模式也只是简单的顺序调入,因此内存管理以及调度方式相对来说十分简单。但是此时的操作系统已经有了现代操作系统的雏形功能。
1、内存保护。程序读入内存不得访问监控程序的内存区域,如果尝试这样做则将控制权转交监控程序停止当前运行程序,报错。这样的模式类似于如今操作系统的用户态(目态)以及内核态(管态)。用户程序运行在目态,在用户态情况下拥有着对内核态内存的绝对保护,当发生中断、
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。