操作系统
操作系统是一种程序:控制应用程序执行的程序
操作系统是一种接口:应用程序和计算机硬件间的接口
操作系统就是让普通人也会用电脑的软件(为了方便),就是把整个电脑资源包装起来的一个图形界面(为了有效),这个图形界面随着计算机硬件的进步会逐渐更新(可扩展)
我们熟悉的操作系统,有常见的Win系和MacOS
以及以安卓和IOS为代表的移动设备操作系统
1.让普通用户也会用电脑
前面说到,引入操作系统的目的之一是为了让普通用户也会用电脑。
这里的普通用户指的就是终端用户,终端用户通常不关心计算机的硬件细节。
就像你双击一个文件夹,并不关心系统是怎么捕捉鼠标坐标、运行打开文件夹窗口程序、展示里面的内容的。
总结下来,操作系统大概提供了这些功能来方便我们使用:
用通俗的语言去解释对每个服务的理解:
程序开发:帮程序猿开发程序,提供编辑器和调试器等应用程序开发工具,比如GNU套件。
程序运行:运行一个程序需要复杂的取指令、加载译码等过程,操作系统主要为程序运行分配内存。
I/O设备访问:不同I/O设备(如鼠标显示屏)都有自己的控制信号和指令集,操作系统隐藏了这些不同,求同存异,使得程序猿可以用简单统一的读/写来访问这些设备。
文件访问:对不同用户给予不等的文件查看修改权限。
检错和响应:计算机系统出错(如设备故障、内存溢出等),需要操作系统对不同的错误提供响应,这里的响应其实就是解决方案,是重试、终止还是只是报错。
记账:统计对资源的利用情况,有利于进一步改进。
2.把电脑资源包装起来
计算机可以实现数据的移动、存储和处理,这些功能实质上就是计算机的资源,操作系统的任务就是管理这些资源。
通常情况下,控制结构与被控制对象是分离的。比如空调的遥控系统并不参与降温或升温,比如遥控器与遥控车。
但操作系统比较特殊
操作系统与被它控制的对象一样都是由处理器执行的程序,区别在于程序的意图。就好像操作系统是从几名新兵蛋子中脱颖而出的组长,负责管理这一组的资源,并管理其他新兵的工作,但同时自己也是一名新兵
操作系统与被它控制的对象一样都是由处理器执行的程序。
所以,当操作系统想要运算器运行一段程序时,它需要停止自己,才能腾出处理器去执行想要执行的程序,称为释放控制,然后用足够长的时间拿回控制权,重新在处理器上运行。
如上图所示,操作系统分布在内存和外存中,内存的部分包括内核程序和一些服务器程序,外存的部分与I/O访问有关。
3.随计算机硬件的进步更新
由于计算机硬件发展很快,各种硬件的机制、材料也会变化,这就需要操作系统的更新来提供更复杂的支持。
另外,一些新的功能需求、漏洞也会促使操作系统不断修补更新,这也使得模块化操作系统逐渐流行。
公众号:凡古一往
关注我,发现更多文章