操作系统 (Operating System,OS)是一种系统软件,它负责管理计算机的硬件和软件资源。它的主要任务是组织和调度计算机的工作,并分配资源给用户和其他软件。操作系统为用户和软件提供了方便的接口和环境。它是计算机系统中最基本的软件之一。
一、操作系统的目标和功能
1、操作系统作为计算机系统资源的管理者
(1)处理机管理
在多道程序环境下,进程(或线程)是处理机分配和运行的基本单位。因此,对处理机的管理就是对进程的管理,主要包括进程控制、进程同步、进程通信、死锁处理和调度。进程管理的主要任务是决定进程的创建和撤销时间,管理进程,避免冲突,并实现资源的合理共享。
(2)存储器管理
给多道程序运行提供环境,方便用户使用,提高内存利用率。包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
(3)文件管理
操作系统中负责文件管理的部分称为文件系统。包括文件存储空间的管理、目录管理及文件读写管理和保护等。
(4)设备管理
完成用户的/O请求,方便用户使用各种设备,提高设备的利用率。包括缓冲管理、设备分配、设备处理和虚拟设备等功能。
写个例子:用QQ和朋友视频聊天的过程
Step 1:在各个文件夹中找到 QQ安装的位置(如 D:/Tencent/xx/Bin)
Step 2:双击打开 QQ.exe
Step 3:QQ程序正常运行
Step 4:开始和朋友视频聊天
上述四个步骤具体分析如下:
Step 1:逐层打开文件夹,找到aa.exe这个程序(可执行文件)的存放位置——文件管理
Step 2:需要把该程序相关数据放入内存——存储器管理
Step 3:对应的进程被处理机(CPU)处理——处理机管理
Step 4:需要将摄像头设备分配给进程——设备管理
2、操作系统作为用户与计算机硬件系统之间的接口
操作系统提供的接口主要分为两类:
一类是命令接口,用户利用这些操作命令来组织和控制作业的执行,另一类是程序接口,编程人员可以使用它们来请求操作系统服务。
(1)命令接口
使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,本接口适用于分时或实时操作系统。当用户输入一条命令后,控制权将移交给操作系统的命令解释程序。该程序负责解释并执行用户输入的命令,以完成相应的功能。操作完成后,用户可以继续输入下一条命令。
脱机命令接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户无法直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。
(2 ) 程序接口
程序接口,也称为应用程序编程接口(API),由一组系统调用(或广义指令)组成。目前,图形用户界面(GUI)是最为流行的用户接口类型。GUI通过调用底层的程序接口来实现其功能,用户可以通过鼠标点击、键盘输入或者使用快捷键与图形界面进行互动,从而便捷地利用操作系统提供的服务。
3、操作系统实现了对硬件机器的扩展
操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器;因此,我们通常将覆盖了软件的机器称为扩充机器或虚拟机。将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。
二、操作系统的特征
-
并发(Concurrency):并发指两个或多个事件在同一时间间隔内发生。在多道程序环境下,内存装有多道程序,一道程序因 I/O 操作暂停时,CPU 有空档,系统就调度其他程序交替运行,让 CPU 保持忙碌,通过分时实现。以生活举例,9:00 - 10:00 间,9:00 - 9:10 吃面包,9:10 - 9:20 写字,9:20 - 9:30 吃面包,9:30 - 10:00 写字,这段时间里吃面包和写字就是并发,交替开展。并行是同一时刻能完成两种或两种以上工作。好比 9:00 - 10:00 期间,右手写字同时左手吃面包,同一时刻同步动作。
在单核cpu环境下,宏观有多道程序看似同时执行,微观是分时交替,靠分时实现并发。而 CPU 与 I/O 设备、I/O 设备间可真正并行。实现进程并行需多流水线、多处理机等硬件支持。引入进程,目的之一就是实现程序并发执行,提升系统效率与资源利用率。
在多核cpu环境下,同时能进行多个程序的执行,多个程序可以并行的执行。 -
共享(Sharing):系统资源供多个并发进程共用,分互斥共享(如打印机、磁带机等临界资源,一段时间只许一进程访问,需先申请,用完释放)与同时访问(像磁盘设备、部分重入代码文件,宏观 “同时”、微观 “分时”)。
-
虚拟(Virtual):借助虚拟技术把物理实体变逻辑对应物,含时分复用(虚拟处理器,多道程序分时用一处理器,让用户似有专属 CPU)、空分复用(虚拟存储器扩充逻辑容量,虚拟设备将物理 I/O 设备虚拟为多台逻辑设备供多用户用)。
-
异步(Asynchronism):多道程序下进程并发但因资源有限走走停停、推进速度不可知,运行环境随机,虽可能出与时间有关错误,但相同环境须保多次运行结果一致。
并发和共享是操作系统的两个最基本特征,它们互为存在条件。资源共享以程序的并发为前提,若系统不允许程序并发执行,资源共享问题便不复存在。反之,若系统无法对资源共享进行有效管理,将影响程序的并发执行,甚至导致无法并发执行。
三、操作系统的发展历程
今天的分享就到这啦😉
如果我的文章对您有帮助,
请 “点赞” “收藏” “关注”
一键三连哦!
想了解更多知识请前往重生之我在VS写bug
如果以上内容有什么问题,欢迎留言,大家一起学习,共同进步。