1、操作系统的功能和目标---作为系统资源的管理者
作为系统资源的管理者提供的功能:
(1)处理机管理
(2)存储器管理
(3)文件管理
(4)设备管理
作为系统资源的管理者的目标:安全、高效
补充知识:执行一个程序前需要将该程序放到内存中,才能被CPU处理。
例子:用QQ和朋友视频聊天的过程
step1:在各个文件夹中找到QQ安装的位置(例如:D:/Tencent/QQ/Bin)
具体做法:逐层打开文件夹,找到QQ.exe这个程序(可执行件)的存放位置。
此过程用到的功能是:文件管理
step2:双击打开QQ.exe
需要把程序相关数据放入内存。
此过程用到了操作系统提供的功能是:处理机管理
step3:QQ程序正常运行
对应的进程被处理机(CPU)处理
此过程用到的功能是:处理机功能
step4:开始和朋友视频聊天
此过程需要将摄像头设备分配给进程。
此过程用到的功能是:设备管理
2、操作系统的功能和目标---向上层提供方便的服务
封装思想:操作系统把一些“丑陋的”硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。
硬件只能识别二进制指令,如:01010101011。而操作系统是位于硬件之上,提供了友好的交互接口。
例如:
GUI图形化用户接口(Graphical User Interface)用户可以使用形象的图形界面进行操作,而不需要记忆复杂的命令参数。
例子:在Windows操作系统中,删除一个文件夹只需要把文件“拖拽”到回收站即可。
联机命令接口示例(以windows系统为例):
注意:联机命令接口==交互式命令接口
具体实现步骤:
step1:win+R键
然后会弹出这个窗口:
step2:输入cmd,然后回车
会出现这个窗口:
step3:输入:time
会出现以下结果:
程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。
比如:写C语言“hello world”程序时,在printf函数的底层就使用到了操作系统提供的显式相关的“系统调用”。
系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式。
3、操作系统的功能和目标---作为最接近硬件的层次
没有任何软件支持的计算机称之为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。
通常把覆盖了软件的机器称之为扩充机器又称为虚拟机。
类比汽车:
发动机只会转,轮胎只会滚动,在原始的硬件机器上覆盖一层转动系统,让发动机带着轮子转,从而使原始的硬件机器得到扩展。
操作系统对阴间机器的扩展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多复杂的功能。