操作系统的五项主要职能可以概括为:进程控制、存储分配、设备操控、文件处理以及用户界面构建。它好比一个精密运作的中心指挥官,在CPU的时间片上进行多任务并发的操作,在内存中合理地划分和保护各个程序的空间不受影响,在各种输入输出设备之间进行有效的协调,并且把所有的数据存取路径都加以整理并且保证了文件的安全性和访问权限的可控性,最后还利用命令行或者图形化的界面来建立人机之间的联系。这五项功能并不是各自独立存在的,而是互相依存、相互促进的关系,在整个计算机系统中发挥着至关重要的作用。

一、进程管理:精确地分配CPU资源,保证多个程序可以同时正常工作
操作系统把进程作为处理机管理的基本单元,在单任务环境里只有一个程序独占处理机,在现在的多任务情况下就需要用到调度算法来动态地给各个程序分配处理机的时间了,并且还要保证前台的应用程序能够及时响应用户的操作而后台的服务也可以一直正常工作下去。具体的实现方式就是由进程控制去创建或者终止一个任务,用进程同步来解决共享资源的问题以及用进程通信来进行不同程序之间的数据传递。比如当用户同时打开了浏览器、音乐播放器和文档编辑器的时候,操作系统就会每隔一毫秒就切换一次执行权使得这三个程序看上去像是并发执行的一样但实际上是由内核精细调控的。
第二部分是关于存储管理的,即动态地分配内存空间,并且要考虑到效率和安全性
存储管理除了要对物理内存进行分配和回收之外,还要涉及到地址映射、内存保护以及虚拟内存扩展等问题。典型的例子就是Windows系统的页文件机制或者Linux系统的交换分区,在物理内存不足的时候会把不常用的内存数据保存到硬盘上以腾出空间给重要的程序使用,并且不会导致整个系统崩溃。
第三部分是设备管理,它可以把各种各样的硬件都抽象出来,并且可以做到一插就用
对于各种各样的外设如键盘、鼠标、打印机和SSD等,操作系统的设备驱动程序会把它们的底层硬件细节隐藏起来,并且给用户提供一个统一的标准输入输出接口。设备分配模块按照一定的顺序以及各个外设是否为空来分配资源;缓冲管理可以解决CPU和较慢的外部设备之间的速度差异问题;而设备独立性的设计使得用户不需要知道具体的型号信息,在插入了USB摄像头之后,操作系统就会自动加载相应的驱动程序并将它注册为一个新的视频输入源,上层的应用程序只需要使用通用的API就可以访问到这个新的输入源了。
第四部分 文件管理:对数据资产进行结构化的分类,并且加强了权限控制以及容错能力
文件系统除了要负责磁盘空间的分配之外,还要建立一个树形的目录结构来方便查找,并且可以进行创建、读写、删除和重命名等基本的操作。另外它还包含了访问控制列表以及用户组权限机制,在此之上可以设置只有本人能修改、同事只能查看、访客不能进入等等规则;并且利用日志记录和快照备份等方式提高数据的安全性,减少由于误操作或者停电造成的数据丢失的情况发生。
第五部分 用户界面和系统调用:打通人机交互的最后一公里
操作系统有两种方式供用户使用:一种是给普通用户使用的图形用户界面和命令行界面,另一种则是给开发者使用的系统调用集。前一种可以让不懂技术的人用鼠标点来完成各种操作;而后一种则可以使得程序以最安全的方式去控制硬件设备,比如微信发图的时候并不是直接去操作相机,而是通过open()、read()等一系列系统的调用来实现这一目的,在此过程中内核会进行权限检查并代劳。
五种功能彼此关联、互相影响,一起组成了数字世界的运行基础。



留言 · 0
还没有留言,说点什么吧
写留言