操作系统学习笔记 1.1 操作系统基本概念
前言
参考王道书。
后续会进一步整理,包括添加笔记内容,标明参考资料。
更新中。。。
目录
一、操作系统基本概念
1、操作系统定义
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合 。 它是计算机系统中最基本的系统软件。
- 负责管理协调硬件、软件等计算机资源的工作
- 为上层的应用程序、用户提供简单易用的服务
- 操作系统是系统软件,而不是硬件
2、操作系统特征
重要考点:
- 理解并发和并行的区别
- 并发和共享互为存在条件
- 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征
1. 并发
指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
常考易混概念:
并行:指两个或多个事件在同一时刻同时发生。
操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)
事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
当今的计算机,一般都是多核CPU,比如Intel的第八代i3处理器就是4核CPU,但是操作系统的并发性依然必不可少,当代人使用计算机绝对有4个以上的程序需要同时工作。
2. 共享
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问
- 同时共享(同时访问):该资源系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问(宏观上同时,微观上交替)
所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
3. 虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
空分复用技术
- 虚拟存储器
例:
- GTA5需要4GB的运行内存, QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存…
- 我的电脑:4GB内存
问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?
答:这是虚拟存储器技术。实际只有4GB的内存,在用户看来似乎远远大于4GB
时分复用技术
微观上处理机在各个微小的时间段内交替着为各个进程服务
-
虚拟处理器
-
问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
-
答:这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务
虚拟性和并发性的关系
如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。
4. 异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的, 而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
与并发性的关系
显然,如果失去了并发性,则系统只能,串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。
并发和共享的关系
并发性指计算机系统中同时存在着多个运行着的程序。
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
例:使用QQ发送文件A,同时使用微信发送文件B。
-
两个进程正在并发执行(并发性)
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
-
需要共享地访问硬盘资源(共享性)
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
2、操作系统的目标和功能
- 作为系统资源的管理者(资源包括软件、硬件、文件等)
- 作为用户与计算机硬件之间的接口
- 作为最接近硬件的层次
1. 作为系统资源的管理者
目标
安全、高效
功能
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
补充知识:进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理。
2. 作为用户和计算机硬件之间的接口
目标
方便用户使用
功能
- 命令接口:允许用户直接使用
- 程序接口:允许用户通过程序间接使用
- GUI:现代操作系统中最流行的图形用户接口
命令接口和程序接口统称为用户接口。
命令接口
(允许用户直接使用)
- 联机命令接口
- 脱机命令接口
联机命令接口
用户说一句,系统做一句(交互式命令窗口)
脱机命令接口
用户说一堆,系统做一堆(批处理命令接口)
程序接口
(允许用户通过程序间接使用)
- 由一组系统调用组成(程序接口=系统调用)。只能通过用户程序间接使用。
注:系统调用=系统调用命令=广义指令
GUI
图形用户界面(Graphical User Interface)
用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
例子:在Windows操作系统中,删除一个文件只需要把文件“拖拽”到回收站即可。
作为最接近硬件的层次
需要提供的功能和目标:实现对硬件机器的拓展
没有任何软件支持的计算机成为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机
习题
1、系统调用是由操作系统提供给用户的,它( ) 。
A. 直接通过键盘交互方式使用
B. 只能通过用户程序问接使用
C 是命令接口中的命令
D. 与系统的命令一样
答案:B
解析:
系统调用是操作系统为应用程序使用内核功能所提供的接口 。
2、为了方使用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口又可进一步分为( )。
A.联机用户接口和脱机用户接口
B.程序接口和图形接口
C.联机用户接口和程序接口
D.脱机用户接口和图形接口
答案:A
解析:
程序接口、图形接口与命令接口三者井没有从属关系。按命令控制方式的不同,命令接口分为联机用户接口和脱机用户接口 。
3、操作系统与用户通信接口通常不包括( )。
A. shell
B. 命令解释器
C. 广义指令
D. 缓存管理指令
答案:D
解析:
广义指令就是系统调用命令,而命令解释器属于命令接口,shell 是命令解析器,它也属于命令接口 。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用 。
4、下列选项中,不属于多道程序设计的基本特征是( )。
A. 制约性 B. 问断性
C. 顺序性 D. 共享性
答案:C
解析:
引入多道程序设计后,程序的执行就失去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。顺序性是单道程序设计的基本特征。
5、计算机开机后 , 操作系统最终被加载到( )。
A. BIOS
C. EPROM
B. ROM
D. RAM
答案:D
解析:
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是RAM。熟悉了组成原理中的各类存储介质后选对这道题并不难 。