2020-2021-1学期 20202419《网络空间安全专业导论》第五周学习总结

第10章: 操作系统

10.1 操作系统的角色

现代软件可以分成两类——即应用软件和系统软件,他们反映了不同的程序设计目的。

应用软件:帮助我们解决现实世界问题的程序。
系统软件:管理计算机系统并与硬件进行交互的程序。
计算机的操作系统:管理计算机的资源并为系统交互提供界面的系统软件。

一台计算机通常只有一个活动的操作系统,在系统运行中负责控制工作。计算机硬件是靠电线连接的,初始时载入ROM中存储的一小组系统指令。这些指令将从二级存储器(通常是硬盘)中载入大部分系统软件。最终将载入操作系统软件的所有关键元素,执行启动程序,提供用户界面,这个过程叫做引导计算机。
计算机可以具备两个或者多个操作系统,开机时候可以选择用哪一个——这个配置叫做双引导或多引导系统,不过,任何时候都只有一个操作系统在控制计算机!
至于手机,目前安卓和iOS已经统治了当前移动操作系统市场。
操作系统的各种角色通常都围绕着一个中心思想——“良好的共享”。

10.1.1 内存、进程与CPU管理

多道程序设计是在主存中同时驻留多个程序的技术;这些程序为了能够执行,将竞争CPU的访问。所有现代操作系统都采用多道程序设计技术。因此操作系统必须执行内存管理以明确内存中有哪些程序以及它们驻留在内存的什么位置。
我们还应该掌握另一个概念——进程。程序是一套静态指令,而进程是动态实体(正在执行的程序)。为了防止进程在执行过程中被打断,操作系统还需要进程管理,以跟踪进程的进展以及所有中间状态。
内存管理和进程管理都需要CPU调度,即确定某个时刻CPU要执行内存中的哪个过程。
操作系统自身也是必须执行的程序,所以在内存中也要和其它系统软件以及应用程序一起管理和维护OS过程。

多道程序设计:同时在主存中驻留多个程序,由它们竞争CPU的技术。

内存管理:了解主存中载有多少个程序以及它们的位置的动作。

进程:程序执行过程中的动态表示法。

进程管理:了解活动进程中的信息的动作。

CPU调度:确定主存中的哪个进程可以访问CPU以便执行的动作。

10.1.2 批处理

为了解决上世纪典型的计算机的复杂耗时,更有效的执行程序,操作员会把来自多个用户的作业组织成分批,一个分批包含一组需要相同或相似资源的作业。

可以在多道程序设计的环境中执行分批系统。

现代操作系统中的批处理概念允许用户把一组OS命令定义为一个批文件,以控制一个大型程序或一组交互程序的处理。尽管目前使用的大多数计算机是交互式的,但有写作业仍然会自行批处理。

10.1.3 分时

分时系统允许多个用户同时与计算机进行交互。多道程序设计法允许同时有多个活动进程,从而给了程序员直接与计算机系统交互且仍然共享其资源的能力。
在分时系统中,每个用户都有自己的虚拟机,可以使用虚拟机中的所有系统资源,但其实这些资源是由多个用户共享的。分时系统最初由一台主机和一组连接到主机的哑终端构成。

分时:多个交互用户同时共享CPU时间的系统。
虚拟机:分时系统创建的每个用户都有专用机器的假象。
主机:一个大型的多用户计算机,通常与早期的分时系统有关。
哑终端:在早期的分时系统中用户用于访问主机的一套显示器和键盘。

当系统负荷过重时,每个用户的机器看起来都变慢了。
虽然主机是过时的概念,但是分时不是。目前许多台式计算机运行的操作系统都以分式的方式支持多个用户。

10.1.4 其他OS元素

大型机变成小型机,小型机变成微型机,计算技术正在不断改进。微型机第一次采用单个的集成芯片作为CPU,从而引发了PC的想法。
操作系统需要支持实时系统的,实时系统就是必须给用户提供最少响应时间的系统。必须严格控制收到信号和生成响应之间的延迟。尽管所有操作系统都知道响应时间的重要性,但是事实操作系统则更加致力于优化该方面。

实时系统:应用程序的特性决定了响应时间至关重要的系统。
响应时间:收到信号和生成相应之间的延迟时间。

10.2 内存管理

逻辑地址:对一个存储值的引用,是相对于引用它的程序的。
物理地址:主存储设备中的真实地址。
地址联编:逻辑地址和物理地址间的映射。

10.2.1 单块内存管理

一次只能处理一个程序,把应用程序载入一段连续的内存区域的内存管理方法。
物理主存地址=逻辑地址(相对地址)+载入程序的起始地址

10.2.2 分区内存管理

固定分区法:把内存分成特定数目的分区以载入程序的内存管理方法。
动态分区法:根据容纳程序的需要对内存分区的内存管理方法。
基址寄存器:存放当前分区的起始地址的寄存器。
界限寄存器:存放当前分区的长度的寄存器。

三种常用的分区选择法:

最先匹配:即把第一个足够容纳程序的分区分配给它。
最佳匹配:即把最小的能够容纳程序的分区分配给它。
最差匹配:即把最大的能够容纳程序的分区分配给它。
压缩:作业在内存中移动,以创建较大的空白分区。

10.2.3 页式内存管理

页式内存管理:把进程划分为大小固定的页,载入内存时存储在帧中的内存管理方法。
帧:大小固定的一部分主存,用于存放进程页。
页:大小固定的一部分进程,存储在内存帧中。
页映射表:操作系统用于记录页和帧之间的关系的表。
页式内存管理思想的一个重要扩展就是请求分页思想,它利用了程序的所有部分不必同时处在内存中这一事实。任何时刻CPU都只访问进程的一个页面。在请求分页中,页面经过请求才会被载入内存。如果一个页面没有在内存中,就要从二级存储设备把这个页面载入可用的帧,再完成访问。从二级存储设备载入页面通常会把其他页面写回二级存储设备,这种行为叫做页面交换。
请求分页法带来了虚拟内存思想,消灭了进程大小始终有一个上限的限制。不过虚拟内存需要很多开销,经常需要在主存和二级存储设备间进行页面交换,当一个程序等待页面交换时,另一个进程接管CPU的控制,这种开销是可以接受的。
页面交换过多叫做系统颠簸,会严重降低系统的性能。

10.3 进程管理

10.3.1进程状态

在操作系统的管理下,进程历经的概念性阶段

  • 在创建阶段,将创建一个新进程。
  • 在准备就绪状态中,进程没有任何执行障碍。
  • 运行状态下的进程时当前CPU执行的进程
  • 等待状态下的进程是当前在等待资源(除了CPU以外的资源)的进程。
  • 终止状态下的进程已经完成了它的执行。

10.3.2 进程控制块

操作系统管理进程信息使用的数据结构

上下文切换:当一个进程移出CPU,另一个进程取代它时发生的寄存器信息交换

10.4 CPU调度

  • 非抢先调度:当当前执行的进程自愿放弃了CPU时发生的CPU调度
  • 抢先调度:当操作系统决定照顾另一个进程而抢占当前执行进程
  • 周转周期:从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准。

10.4.1 先到先服务

进程按照它们到达运行状态的顺序转移到CPU

10.4.2 最短作业优先

CPU调度算法将查看所有处于准备就绪状态的进程,并分派一个具有最短服务时间的

10.4.3 轮询法

CPU的轮询法将把处理时间平均分配给所有准备就绪的过程。该算法建立单独的时间片。

时间片:在CPU轮询算法中分配给每个进程的时间量。

轮询算法是抢先的。时间片到期进程就会被强制移出CPU。它可能是应用最广泛的,被认为是最公平的算法。
导图:

第11章:文件系统和目录

11.1 文件系统

磁盘上的数据都存储在文件中,这是在电子媒介上组织数据的一种机制。所谓文件,就是相关数据的有名集合。从用户的角度看,文件是可以写入二级存储设备的最小数据量。文件系统是操作系统为它管理的文件提供的逻辑视图,通常用目录组织文件。
可以把文件看作位序列、字节序列、行序列和记录序列。

文件:数据的有名集合,用于组织二级存储设备。

文件系统:操作系统为它管理的文件提供的逻辑视图。

目录:文件的有名分组。

11.1.1 文本文件和二进制文件

所有文件都可以被归为文本文件和二进制文件!

文本文件:包含字符的文件。
二进制文件:包含特定格式的数据的文件,要求给位串一个特定的解释。

11.1.2 文件类型

文档中包含的信息种类叫做文件类型,大多数操作系统都能识别一系列特定的文件类型。
说明文件类型的常用方法是把文件类型作为文件名的一部分。文件名分为两部分:主文件名和文件扩展名。文件扩展名说明文件的类型。

改变文件扩展名不会改变文件中的数据或它的内部格式。如果要在专用的程序中打开一个扩展名错误的文件,只会得到错误信息。

文件类型:文件中存放的关于类型的信息。

文件扩展名:文件名中说明文件类型的部分。

11.1.3文件操作

操作系统用两种方式跟踪二级存储设备。它维护了一个表以说明哪些内存块是空的,还为每个目录维护了一个表,以记录该目录下的文件的信息。要创建一个文件,操作系统需要在文件系统中为文件内容找一块可用空间,然后把该文件条目加到正确的目录中,记录文件的名字和位置;要删除一个文件,操作系统要声明该文件使用的空间现在是空的,并删除目录表中相应条目。

11.1.4 文件访问

文件的访问类型是在创建文件时设置的。
两种主要的访问方法——顺序访问法和直接访问法,任何类型的介质都可以存储这两种类型的文件。文件访问类型定义了重定位当前文件指针的方法,它们与存储文件的设备的物理限制无关。
最常用的方法就是顺序文件访问——以线性方式访问文件中的数据的方法。
或者采用直接文件访问——通过指定逻辑记录编号直接访问文件中的数据的方法。使用大量数据的某个特定情况下,这种方法很有用。

顺序文件访问:以线性方式访问文件中的数据的方法。

直接文件访问:通过指定逻辑记录编号直接访问文件中的数据的方法。

11.1.5 文件保护

11.2 目录

大多数操作系统都用文件表示目录。目录文件存放的是关于目录中的其他文件的数据。对于任何指定的文件,目录中存放有文件名、文件类型、文件存储在硬盘上的地址以及文件的当前大小。
一旦建立了目录文件,它就必须支持对目录文件的一般操作。

11.2.1 目录树

一个文件目录还可以包含另一个目录,包含其他目录的目录叫做父目录,被包含的目录叫做子目录。一个目录可以包含多个子目录,另外子目录也可以有子目录,这样就形成了分级结构。文件系统通常被看作目录树,最高层叫做根目录

目录树:展示文件系统的嵌套目录组织的结构。
根目录:包含其他所有目录的最高层目录。

个人计算机通常用文件夹来表示目录结构,这样就构成了包容的思想。无论何时你都可以认为自己在文件系统中的某个特定位置工作,这个子目录叫做当前工作目录,只要在文件系统中移动,当前工作目录就会改变。

工作目录:当前活动的子目录。

观察Windows系统目录树和UNIX系统目录树可以知道,它们都展示了包容的概念。但是他们的文件和目录的命名规则不同。UNIX是一个系统级的程序设计环境,因此使用了大量的缩写和代码作为目录和文件的名字。此外,UNIX环境的根目录是用 / 表示的。

11.2.2 路径名

除了具有图形化用户界面的操作系统外,大多数操作系统还提供非图形化的界面,需要用文本说明文件的位置,要用文本只是一个特定的文件,必须说明文件的路径,路径可以绝对也可以相对。绝对路径名从根目录开始,说明了沿着目录树前进的每一步,直到到达了想要的文件或目录。相对路径名则从当前工作目录开始。路径:文件或子目录在文件系统中的位置的文本名称。
绝对路径:从根目录开始,包括所有后继子目录的路径。
相对路径:从当前工作目录开始的路径。

11.3 磁盘调度

决定先满足哪个磁盘I/O请求的操作。

11.3.1 先到先服务磁盘调度法

FCFS算法按照请求到达的顺序处理它们,并不考虑读写头的当前位置。

11.3.2 最短寻道时间优先磁盘调度法

通过尽可能少的读写头移动满足所有未解决的请求。

11.3.3 SCAN磁盘调度法

读写头向轴心移动,再向盘片边缘移动。
不可能出现饿死现象,因为每个柱面都会被依次处理到。

导图

posted @ 2020-11-12 19:06  20202419罗骜  阅读(67)  评论(0编辑  收藏  举报