【操作系统篇】第一篇——计算机系统概述(上)(一)

简介: 【操作系统篇】第一篇——计算机系统概述(上)

前言


准备24考研的我,开始着手准备408,跟的课程是王道,我大致会按照操作系统,计算机网络,数据结构,计算机组成原理地顺利来进行更新,希望和大家一起学习,共同上岸!

在次之前我们需要先了解它们四个之间地大致关系,如下图所示:

image.png

概念


首先我们先来想一下,一台电脑诞生地流程:

Step1:厂家组装一台裸机(纯硬件:包含CPU,内存,硬盘等)

Step2:出售前安装操作系统(如:window10)

Step3:用户安装应用程序(eg:qq)

Step4:使用QQ聊天

概念:是指控制和管理整个计算机系统的硬件软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。

概括为以下三点:

1.操作系统是系统资源的管理者

2.是最接近硬件的一层软件

3.是向上层提供方便易用的服务

例子: 打开Windows操作系统的"任务管理器"

image.png

功能


系统资源的管理者


操作系统作为系统资源的管理者,它提供什么样的功能以供管理囊?这里举个简单的例子让大家更好的理解:

image.png

当我们用QQ和朋友视频聊天的时候:

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

逐层打开文件夹,找到QQ.exe这个可执行文件的存放位置,这个就叫做文件管理。

Step2:双击打开QQ.exe

当我们用QQ和朋友视频聊天的时候:

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

逐层打开文件夹,找到QQ.exe这个可执行文件的存放位置,这个就叫做文件管理。

Step2:双击打开QQ.exe

Step4:开始和朋友视频聊天

需要将摄像头设备分配给进程,即设备管理

通过上面的例子,可以总结出操作系统提供文件管理,存储器管理,处理机管理,设备管理四个功能,这里不做详细介绍,在后面章节一一说明.

image.png

向上层提供方便易用的服务


如果没安装操作系统的话,我们知道裸机是纯硬件,只能听得懂二进制指令,如果要想何其交流,必须使用二进制,对用户来说是非常不友好的,使用成本太高,对外暴露了"丑陋",不友好的交互接口,这时在硬件之上安装操作系统,操作系统对外暴漏的是"美丽",友好的交互接口,用户不需要知道底层的原理,只要告诉操作系统需要什么服务,操作系统帮忙完成,这里其实用到的是一种封装思想,操作系统把一些硬件功能封装成简单易用的服务,使用户能更方便使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

image.png

现在直接给用户使用的有GUI(图形用户界面),比如Windows,安卓的图形化操作界面,还有用户可以直接使用的命令接口。也有给软件/程序员使用的程序接口。

GUI


很多现代操作系统都提供GUI,即图形化用户接口,用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令,参数。

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

image.png

命令接口


命令接口又分为联机命令接口和脱机命令接口。联机命令接口又叫做交互式命令接口,特点是用户说一句,系统跟着做一句。以Windows系统为例,如下:

Step1:WIN+R

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

Step3:尝试使用time命令。

image.png

脱机命令接口又称批处理命令接口,特点是用户说一堆,系统跟着做一堆,使用windows系统的搜索功能,搜索C盘中的*.bat文件,用记事本任意打开一个。

image.png

程序接口


可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。例如:写C语言"hello world"程序时,在printf函数的底层就使用到了操作系统提供的显式相关的"系统调用"。

image.png

操作系统向上层提供了方便易用的服务,有直接给用户使用的GUI,命令接口,也有给软件/程序员使用的程序接口。

image.png

作为最接近硬件的层次


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

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

类比汽车:

发动机 —— 只会转;轮胎 —— 只会滚;

在原始的硬件机器上覆盖一层传动系统 —— 让发动机带着轮子转 —— 使原始的硬件机器得到拓展

操作系统对硬件机器的拓展:将 CPU 、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件

能够相互协调配合,实现更多更复杂的功能

普通用户无需关心这些硬件在底层是怎么组织起来工作的,只需直接使用操作系统提供的接口即可。

特征


并发


概念:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。

常考易混概念--并行:指两个或多个事件在同一时刻同时发生。

操作系统的并发性指计算机系统中"同时"运行着多个程序,这些程序宏观上看是同时运行的,而围观上看是交替运行的。

操作系统就是伴随着"多道程序技术"而出现的。因此,操作系统和程序并发是一起诞生的。

注意(重要考点):

单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。

多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。

注意:即使对于4核CPUC来说,只要有4个以上地程序需要"同时"运行,那么并发性依然是必不可少地,因此并发性是操作系统一个最基本的特性

并行和并发对比

例子:假设小渣和老渣每个人都有两个女朋友。小渣和一号,二号同时约会,老渣则是选择分时间段。

image.png

这里的小渣就是并行约会:同一时刻同时进行两个约会任务;老渣是并发约会:宏观上,这一天老渣在同时进行两个约会任务。微观上,在某一时刻,老渣最多正在进行一个约会任务。

共享


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

资源共享方式:1.互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。2.同时共享方式:系统中的某些资源,允许一个时间段内由多个进程"同时"对它们进行访问。

生活实例:

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

同时共享方式:使用QQ发送文件A,同时使用微信发送文件B.宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替访问硬盘的.。

并发和共享的关系

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

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

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

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

1. 两个进程正在并发执行 (并发性): 如果失去并发性,则系统中只有一个程序运行,则共享性失去存在的意义。

2. 需要共享地访问硬盘资源 (共享性): 如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

因此,并发性和共享性是互为存在条件。

虚拟


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

用一个例子来理解

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

例1:GTA5 需要 4GB 的运行内存, QQ 需要 256MB 的内存,迅雷需要 256MB 的内存,网易云音乐需要256MB 的内存 …… 我的电脑:4GB 内存  问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?

答:这是虚拟存储器技术。实际只有 4GB 的内存,在用户看来似乎远远大于4GB

这里就运用到了虚拟技术当中的" 空分复用技术"。

例2:某单核CPU的计算机中,用户打开了QQ,QQ音乐,谷歌浏览器等。

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

答:这是虚拟处理器技术。实际上只有一个单核 CPU ,在用户看来似乎有

好几个CPU 在同时为自己服务。

这里就是虚拟技术中的"时分复用技术"。微观上处理机在各个微笑的时间段内交替着为各个进程服务。

注意:如果失去了并发性,则一个时间段内系统中只需要运行一道程序,那么就失去了实现虚拟性的意义了。因此, 没有并发性,就谈不上虚拟性。

相关文章
|
6月前
|
Unix C语言
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
|
6月前
|
算法 Shell Linux
操作系统概述
操作系统概述
60 0
|
5月前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
89 4
|
4月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
6月前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
6月前
|
存储 API 芯片
1.操作系统概述
1.操作系统概述
|
6月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
6月前
|
程序员 Linux 调度
《操作系统》——计算机系统概述
《操作系统》——计算机系统概述
259 3
|
6月前
|
安全 Unix Linux
第一章 操作系统概述
第一章 操作系统概述
167 0
操作系统基础:IO管理概述【下】
操作系统基础:IO管理概述【下】

热门文章

最新文章

下一篇
无影云桌面