操作系统
1.1 初识操作系统
1.1.1 操作系统的概念
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
- e.g:(ctrl+alt+del)打开windows操作系统的“任务管理器”,可以直观地看到操作系统的作用。
1.1.2 操作系统的功能和目标
一、操作系统作为系统资源的管理者
进程:进程是一个程序的执行过程,执行前需要将该程序放到内存中,才能被CPU处理。
提供的功能:
- 文件管理(逐层打开文件夹,找到所需的程序)
- 存储器管理(将所需程序的相关数据放入内存)
- 处理机管理(对应的进程被处理机(CPU)处理)
- 设备管理(将设备分配给进程:例如摄像头等)
目标:在实现功能时,操作系统需要保证管理的安全、高效。
二、操作系统作为用户和计算机之间的接口
提供的功能:
- 命令接口(允许用户直接使用)
- 联机命令接口(特点:用户说一句 系统做一句)
- 脱机命令接口(特点:用户说一堆 系统做一堆)
- 程序接口(允许用户通过程序间接使用):由一组系统调用组成(程序接口=系统调用)
- GUI(图形用户界面):现代操作中最流行的图形用户接口
以上接口统称为用户接口
目标:方便用户使用
- 命令接口
①. 联机命令接口实例(Windows)联机命令接口=交互式命令接口
②. 脱机命令接口实例(windows)脱机命令接口=批处理命令接口
用记事本打开
- 程序接口:如 C:\Windows\System32\user32.dll程序员在程序中调用user32.dll(该调用过程即为系统调用)即可实现创建窗口等功能。只能通过用户程序间接使用。
系统调用=系统调用命令=广义指令- GUI:图形用户界面(Graphical User Interface)
用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
例子:在 Windows 操作系统中,删除一个文件只需要把文件“拖拽”到回收站即可。三、作为最接近硬件的层次
- 需要提供的功能和目标:实现对硬件机器的拓展。
- 没有任何软件支持的计算机成为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。
- 通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机。
1.2 操作系统的特征
一、 并发
并发
指两个或多个事件在同一时间间隔内发生,这些事件宏观上是同时发生的,但微观上是交替发生的。- 操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
- 一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)
事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。并发与并行不同,并行指两个或多个事件在同一时刻同时发生
- 当今的计算机,一般都是多核CPU,比如lIntel的第八代i3处理器就是4核CPU这意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然必不可少,当代人使用计算机绝对有4个以上的程序需要同时工作。
二、 共享
共享
即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
两种资源共享方式:
- 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段只允许一个进程访问该资源
- 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问
所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
实例:
- 互斥共享方式:使用QQ和微信视频,同一时间段内摄像头只能分配给其中一个进程
- 同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
三、虚拟
虚拟
是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
四、异步
异步
是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。
并发和共享互为存在条件
没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征
1.3 操作系统的发展与分类
1. 手工操作阶段
主要缺点:用户独占全机、人机速度矛盾导致资源利用率较低
2. 批处理阶段 - 多批道操作系统为解决手工操作阶段缺点 ,引入
脱机输入/输出技术
(用磁带完成),并引入监督程序
负责控制作业的输入、输出,此监督程序即为操作系统的雏形
- 单道批处理系统
主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。
主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待l/O完成。资源利用率依然很低。- 多道批处理系统
每次往内存中输入多道程序,操作系统正式诞生,并引入了中断技术,由操作系统负责管理这些程序的运行。各个程序并发执行。
主要优点:多道程序并发
执行,共享
计算机资源。资源利用率大幅提升,CPu和其他资源保持“忙碌”状态,系统吞吐量增大。
主要缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行)3. 分时操作系统
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。
- 主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
- 主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
4. 实时操作系统
- 主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
- 在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
1). 硬实时系统 必须在绝对严格的规定时间内完成处理
2). 软实时系统 能接受偶尔违反时间规定