@[TOC]
思维导图
操作系统的概念(定义)
我们平常买一台电脑,厂家生产的电脑都是一台裸机,然后装了操作系统之后,我们就可以下载应用程序,并且使用应用程序。我们还可以发现,用户也可以直接使用操作系统进行交互,比如cmd
黑窗口。
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机地工作和资源地分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统种最基本的系统软件。
- 操作系统是系统资源的管理者:我们可以查看我们的任务管理器,可以看到此时电脑中正在运行的程序,还有一些资源的分配,操作系统可以软件提供分配资源可以对系统的资源进行合理的分配。
- 向上层提供方便易用的服务:我们可以直接通过操作系统命令方式使电脑关机(打开命令行窗口,输入
shutdown -s -t 0
)。也可以通过一些软件打开电脑的摄像头,也是通过调用操作系统执行的。 - 最接近硬件的一层软件:其实操作系统虽然说是系统但还是一层软件。
操作系统的功能和目标--作为系统资源的管理者
用QQ和朋友视频聊天的过程:
- 在各个文件夹中找到QQ的安装位置 ==》 文件管理:负责文件的存取、共享和保护等
- 双击打开QQ程序 ==》 存储器管理:负责内存的分配与回收,执行一个程序必须要将程序放入内存中才能运行。
- QQ程序正常运行 ==》 处理机管理:负责CPU的分配与控制,运行程序必须需要CPU的处理。
- 打开摄像头与朋友聊天 ==》 设备管理:负责设备的分配和操纵,打开摄像头这类硬件设备就需要操作系统来管理。
我们已经介绍了操作系统的主要功能,后续章节都是围绕这几个功能详细展开的。
操作系统的功能和目标--向上层提供方便易用的服务
硬件只听得懂二进制指令,操作系统将用户发出的命令转换为二进制指令给硬件,然后硬件来完成工作。
这里用到了封装的思想,我不用知道具体怎么实现的,我只需要说出我想要什么,让操作系统来做就可以了。
GUI:图形化用户接口:用户可以使用形象的图形界面进行操作,而不需要记忆复杂的命令,参数。比如点开相机,操作系统就会对摄像头操作。
联机命令接口(交互式命令接口):用户说一句,系统跟着做一句。类似python这类解释型语言。
脱机命令接口(批处理命令接口):用户写一堆,系统跟着做一堆。而不是每次一句的执行了,是执行全部的命令,所以也叫批处理命令。
程序接口:可以在程序中进行系统调用来使用程序接口,普通用户不能直接使用程序接口,只能通过程序代码间接使用。
比如我们写c语言程序时经常用到的printf
函数,这个函数的使用就是一种系统调用,让操作系统来完成相关的指令。系统调用也可以说是调用了一些函数。这些函数组成了一个程序,而不是一些简简单单的指令。
总结
以上这些服务也就说明了为什么用户可以与操作系统直接交互了。
而应用程序可以通过程序接口来与操作系统交互,用户又可以使用应用程序间接实现了系统调用。
操作系统的功能和目标--作为最接近硬件的层次
没有操作系统的计算机称为裸机,在裸机上安装操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成为功能更强,使用更方便的机器。比如你只有发动机和轮子是无法运作的,你还要在他们之上覆盖一层传动系统,让发动机能够带动轮子转,这样原始的硬件机器就能有更多的功能了。
操作系统就是这样的一层扩展,可以将CPU,内存、磁盘等硬件合理的组织起来,让各种硬件能够相互协调配合,实现更复杂的功能。
多的功能了。
操作系统就是这样的一层扩展,可以将CPU,内存、磁盘等硬件合理的组织起来,让各种硬件能够相互协调配合,实现更复杂的功能。