操作系统笔记 - 1 - 操作系统的概念和四个特征

目录

1. 操作系统的概念

1.1 定义:

1.2 操作系统的功能和目标:

1.2.1 三个问题:

1.2.2 作为系统资源的管理者

1.2.3 作为用户和计算机硬件之间的接口

1.2.4 作为做接近硬件概念的层次

         1.3 总结回顾

2. 操作系统的四个特征

2.1 并发

2.2 共享

2.2.1 并发和共享的关系

2.3 虚拟

2.4 异步

         2.5 总结回顾



1. 操作系统的概念

结合生活经验理解计算机系统的层次结构:

电脑的诞生:

  1. 买一台裸机
  2. 安装Windows操作系统
  3. 安装qq(软件)
  4. ...

1.1 定义:

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源分配(向下针对硬件而言)以提供给用户和其它软件方便的接口和环境(向上针对软件和用户而言),它是计算机系统中最基本的系统软件。

1.2 操作系统的功能和目标:

1.2.1 三个问题:

  1. 操作系统作为系统资源的管理者(这些资源包括软件、硬件、文件等),需要提供什么功能?
  2. 操作系统作为用户与计算机硬件之间的接口,要为其上层的一个用户、应用程序提供简单易用的服务,需要实现什么功能?
  3. 操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?

补充知识:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理。

1.2.2 作为系统资源的管理者

回答第一个问题,我们来看用QQ和朋友视频聊天的过程:

Step1:在各个文件夹中找到QQ安装的位置(如D:/Tencent/QQ/Bin)

这一步我们通过一级一级的文件夹目录找到了我们的QQ.exe可执行文件,文件夹中的各种文件都被有组织的放在一起,这体现了操作系统作为系统资源的管理者提供的文件管理功能

Step2:双击打开QQ.exe

实际上我们要执行这个程序需要把这个程序相关的数据放入到内存中,而放到内存当中的什么位置,这就体现了操作系统存储器管理功能

Step3:QQ程序正常运行

除了QQ以外,后台可能还会同时运行其他的程序,例如微信,网易云音乐、浏览器等等,这一系列的进程都需要等待处理机(CPU)对其分配资源进行处理,这就体现了操作系统处理机管理功能

Step4:开始和朋友视频聊天

当我们视频聊天时,需要将摄像头设备分配给进程才能进行调用,然后当我们使用完后再把这个使用权进行回收,这个就是操作系统设备管理功能

1.2.3 作为用户和计算机硬件之间的接口

命令接口:允许用户直接使用

程序接口:允许用户提供程序间接使用

GUI:现代操作系统中最流行的图形用户界面

联机命令接口实例(Windows系统):联机命令接口 = 交互式命令接口

Step1:win键+R

Step2:输入cmd,按回车,打开命令解释器

Step3:尝试使用time指令

这种就是典型的用户说一句系统做一句的例子,所以称为交互式,需要不断交互进行操作

脱机命令接口实例(Windows系统):脱机命令接口 = 批处理命令接口 

使用Windows系统的搜索功能,搜索C盘中的 *.bat 文件,用记事本任意打开一个,类似上述的time指令,只不过这里是把一系列的指令列成了一个任务清单,然后系统一步一步地一次性全部执行。典型的用户给操作系统说一堆,操作系统做一堆

程序接口:如 C:\Windows\System32\user32.dll 程序员在程序中调用 user32.dll (该调用过程即为系统调用) 即可实现创建窗口等功能。只能通过用户程序间接使用,用户没办法直接使用。

易懵概念:系统调用 = 系统调用命令 = 广义指令

GUI(Graphic User Interface):图形用户界面

用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。

例子:在Windows操作系统中,删除一个文件只需要把文件 “拖拽” 到回收站即可。

回顾:

1.2.4 作为做接近硬件概念的层次

需要提供的功能和目标:实现对硬件机器的拓展

没有任何软件支持的计算机成为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器

通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机

类比:

硬件:锤子、锯子、木头、钉子...

操作系统:优秀的工匠

操作系统对硬件的拓展:通过优秀工匠,这些简单的原料可以组织成房子,帆船、匹诺曹。。。

普通用户可直接使用工匠提供的房子、帆船、匹诺曹,而无需关心这些东西在底层是怎么组织起来工作的。(程序的封装思想)

1.3 总结回顾


2. 操作系统的四个特征

操作系统并发共享虚拟异步四个特征,其中并发共享是两个最基本的特征二者互为存在条件

2.1 并发

并发(concurrency):指两个或多个事件在同一时间间隔发生。这些事件宏观是同时发生的,但微观上是交替发生的。常易混淆概念——并行(Parallelism):指两个或多个事件在同一时刻同时发生。 注:在我的JAVA笔记中也有对此的介绍,点击可以查看:JAVA笔记 - 线程专栏 —— 初识进程、线程和多线程的基本概念(新手向)

操作系统的并发性指计算机系统中同时存在着多个运行着的程序

一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)。事实上,操作系统就是伴随着“多道程技术”而出现的。因此,操作系统和程序并发是一起诞生的

当今计算机,一般都是多核CPU,比如Intel的第八代i3处理器就是四核CPU,这意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然必不可少,当代人使用计算机绝对有4个以上的程序需要同时工作。

2.2 共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

所谓的“同时”往往是宏观上的,而微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。此处的宏观和微观概念参考上述的并发概念。

生活实例:

互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。注:但是在某些情况下微观和宏观可能都是同时共享一个资源的,例如游戏和音乐同时调用扬声器资源播放声音。

2.2.1 并发和共享的关系

并发性指计算机系统中同时存在着多个运行着的程序。

共享性:指系统中的资源可供内存中多个并发执行的进程共同使用。

通过上述例子来看并发与共享的关系:

使用QQ发送文件A,同时使用微信发送文件B。

  1. 两个进程正在并发执行(并发性) 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
  2. 需要共享地访问硬盘资源(共享性) 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发

2.3 虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

用一个例子来理解

背景知识:一个程序需要放入内存并给它分配CPU才能执行

某单核CPU的计算机中,用户打开了一下软件。。。

问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢? 

答案:其实这就是单核处理技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务。

2.4 异步

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

显然,如果我们失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。

2.5 总结回顾

考点:

  • 理解并发和并行的区别
  • 并发和共享互为存在条件
  • 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。

备注:本文图片资源均来自王道考研操作系统系列。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部