操作系统学习笔记 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。熟悉了组成原理中的各类存储介质后选对这道题并不难 。