计算机操作系统笔记总结:Part1 计算机系统概述(上)

简介: 文章目录写在前面1 操作系统的概念与功能2 操作系统的特征3 操作系统的发展与分类4 操作系统的运行机制4.1 特权指令与非特权指令4.2 内核态与用户态5 中断和异常6 系统调用6.1 什么是系统调用6.2 为什么系统调用是必须的?6.3 系统调用的过程7 操作系统的体系结构8 操作系统的引导9 虚拟机

1 操作系统的概念与功能

我们先来看一下电脑是如何诞生的吧:


厂商会把CPU、内存等硬件组装成一台裸机;

而在裸机出售前,一般厂商都会安装一个操作系统;

我们购买电脑后,可以在操作系统上安装应用程序(软件);

作为用户的我们,可以使用这些应用程序。

于是我们得到计算机系统的层次结构如下:


王道书上给出的操作系统的定义如下:


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


说明:


操作系统作为软件和硬件中的一个层次,是系统资源的管理者;



操作系统需要向上层(应用程序和用户)提供方便易用的服务;


操作系统是最接近硬件的一种的软件。


操作系统的功能和目标–作为系统资源的管理者

有如下功能:


处理机管理

存储器管理

文件管理

设备管理



操作系统的功能和目标–向上层提供方便易用的服务

操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能够更加方便地使用计算机,用户无需关心底层硬件的原理,只要对操作系统发出命令即可。具体见下图:



操作系统使用举例:

直接给用户使用的


GUI:很多操作系统提供了图形化用户接口,用户可以使用形象的图形界面进行操作,而不需要记忆复杂的命令;

联机命令接口:又叫交互式命令接口,用户需要在命令行与计算机系统进行交互,用户说一句,系统跟着做一句,比如win系统我们常常使用的cmd;

脱机命令接口:又叫批处理命令接口,如win系统的搜索功能,搜索某个盘的某个文件。用户说一堆,系统跟着做一堆。

给软件/程序员使用的


程序接口:用户通过程序间接使用,或者通过代码,例如"hello,world"程序中调用的printf函数,底层就是调用了系统提供的服务,使得字符在显示屏上打印。

操作系统的功能和目标–作为最接近硬件的层次

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

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


操作系统对硬件的扩展主要体现在:将CPU、内存、磁盘、显示器等硬件合理组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。


2 操作系统的特征



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

并行: 指两个或多个事件同一时刻同时发生。(易混淆)


考点


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

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


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


而共享有两种资源共享方式:


互斥共享方式: 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源,例如:使用QQ和微信视频,同一时间段只能将摄像头分配给其中一个进程;

同时共享方式: 系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问,例如:同时使用QQ和微信发送文件,宏观上,两边都是在同时读取并发送文件,说明两个进程都在访问硬盘资源,微观上看,两个进程交替着访问硬盘。

为什么说并发性与共享性互为存在条件?该如何理解?

答:以QQ微信同时发送文件为例,两个进程正在并发执行,需要共享地访问硬盘资源。如果失去了并发性,则系统只有一个程序正在运行,那么共享性就失去了存在的意义。如果失去共享性,则QQ微信不能同时访问硬盘资源,就无法实现同时发送文件,无法实现并发。


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


如何理解呢? 我们知道,一个程序需要放入内存并给它分配CPU才能执行。而一个GTA5游戏需要4G运行内存,QQ需要256MB的内存,微信也要256MB内存,而假设电脑只有4GB内存,而这些程序运行需要的内存远远大于4GB,为什么可以同时运行呢?

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


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


3 操作系统的发展与分类




手工操作阶段

手工操作阶段计算过程如下图,可见有明显缺点: 用户独占全机、人机速度矛盾导致资源利用率基地!!!


批处理阶段:单/多道批处理系统

单道批处理: 引入脱机输入/输出技术(用外围机+磁带完成),并由监督程序负责控制作业的输入、输出。缓解了一定程度的人机速度矛盾,资源利用率有一定提升。 但是依然存在明显缺点: 内存中仅能有一道程序运行, 只有该程序运行结束后才能调入下一道程序。CPU有大量的时间是在等待I/O完成,资源利用率仍然低。


为了解决上述问题,采用了多道批处理系统: 每次往内存中读入多道程序,多道程序可以并发执行,共享计算机资源,资源利用率大幅提升, CPU和其他资源能保持忙碌状态,系统吞吐量增大。



但是无论是单道还是多道批处理,都没有实现人机交互,用户是无法调试程序的, 为了解决该问题,就有了分时操作系统。


分时操作系统

计算机以时间片为单位轮流为各个用户/作业服务, 各个用户可以通过终端与计算机进行交互。


主要优点: 用户的请求可以被及时响应,解决了人机交互的问题。 允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。

主要缺点: 不能优先处理一些紧急任务。 不区分任务的紧急性。于是就有了实时操作系统。


实时操作系统

在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的 主要特点是及时性和可靠性。


主要优点: 能够优先响应紧急任务,某些紧急任务不需时间片排队。




网络操作系统

是伴随着计算机网络发展诞生的,能把网络中各个计算机有机结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。


分布式操作系统

主要特点是 分布性和并行性。 系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成任务。


个人计算机操作系统:

如Window XP、MacOS等,方便个人使用。


4 操作系统的运行机制



4.1 特权指令与非特权指令

这里需要与cmd等命令行的指令进行区分。这里的指令指的是CPU能够看得懂的机器指令(一串二进制序列)


在CPU设计和生产时候,就划分了特权指令和非特权指令,即CPU执行一条指令前就能判断出其类型。


对于应用程序,只能使用“非特权指令”,例如加法指令,减法指令等。

而对于内核程序,操作系统内核作为“管理者”,有时会让CPU执行一些“特权指令”,如:内存清零指令。这些指令影响重大,只允许管理者,即操作系统内核来使用。



相关文章
|
1月前
|
存储 安全 固态存储
计算机启动:从插上电源到操作系统启动的全过程
当我们插上电源,计算机从休眠状态苏醒,直至操作系统完全启动,这一系列复杂的过程涉及到硬件和软件的多个层面。本文将详细解析计算机插上电源后操作系统所做的工作,揭示这一过程的技术细节。
40 6
|
4月前
|
存储 算法 网络协议
了解操作系统的基本原理和常见操作,提高计算机使用效率
了解操作系统的基本原理和常见操作,提高计算机使用效率
60 4
|
4月前
|
运维 安全 Linux
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
|
6月前
|
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()`获取文件属性。
101 4
|
6月前
|
调度
操作系统的目标和功能笔记分享
【6月更文挑战第1天】操作系统的目标和功能笔记分享
79 1
|
5月前
|
存储 算法 Unix
软考中级之数据库系统工程师笔记总结(三)操作系统
软考中级之数据库系统工程师笔记总结(三)操作系统
46 0
|
5月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
6月前
|
运维 安全 Linux
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
59 0
Vanilla OS:下一代安全 Linux 发行版
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
67 4