2019-2020-1学期 20212413 《网络空间安全专业导论》 第五周学习总结
** 第十章:操作系统**
现代软件基本分为应用软件与系统软件两类。应用软件是帮助我们解决现实世界问题的程序;而系统软件是管理计算机系统并与计算机进行交互的程序,它的核心是操作系统(管理计算机资源并未为系统交互提供界面的系统软件)。
操作系统:
1.多道程序设计是在主内存中同时主流多道程序的设计技术,这些程序为了能够执行,将竞争CPU的访问。因此,操作系统必须执行内存管理,以明确内存中有那些程序以及他们驻留在内存中的什么位置。
2.再多到程序设计系统中,可能同时具有多个活动进程,操作系统必须必须仔细管理这些进程。无论何时,下一条执行的都是一条明确的指令。中间值将被计算计算出来。在执行过程中,进程可能会被打断。因此,操作系统还要执行进程管理,以跟踪进程的进展以及所有中间状态。
内存管理:
逻辑地址是指对一个存储值的引用,是相对于引用它的程序的;物理地址则是主存设备中的真实地址。在编译程序中,对标识符的引用将被转化为逻辑地址。当程序最终载入内存中,每个逻辑地址将被转换成对应的物理地址。逻辑地址和物理地址剑的映射叫做地址联编。下面将介绍三种技术的基本原理:
1.单块内存管理:
把应用程序载入一段连续的内存区域的内存管理方法称为单块内存管理。例如,如果载入程序的起始地址是A,那么逻辑地址B对应的物理地址为A+B。其优点在于实现和管理都很简单,但却大大浪费了内存空间和CPU时间。
2.分区内存管理
它有两种划分内存的方法,即固定分区法与动态分区法。使用固定分区法,主存将被划分为特定数目的分区,但在操作系统的引导时它们的大小就已经固定了;而在动态分区发中,主存将被看作一个大的空白分区。当载入程序时,将从主存划分出一块刚好能够容纳程序的空间,并留下其他的空白分区,以便其他的程序使用。处理地址转换的方式有很多,其中一种就是使用CPU中的两个专用寄存器(基址寄存器,界限寄存器)帮助管理寻址:当CPU开始运行一个程序时,OS将把程序的分区起始地址存储到基址寄存器中,分区的长度将被存入界限寄存器中,当逻辑地址被引用时,首先它将与界限寄存器中的值进行比较,确保该引用分配给程序的内存空间,如果是这样,那么逻辑地址的值将被加到基址寄存器中的值上,以生成物理地址。
对于一个新程序,有三种常用的分区选择法:最先匹配(把第一个足够容纳程序的分区分配给它),最佳匹配(把最小的能够容纳程序的分区分配给它),最差匹配(把最大的能够容纳程序的分区分配给它)。最先匹配与最佳匹配适用于固定分区,最差匹配适用于动态分区。
3.页式内存管理
在页式内存管理中,主存被分成小的大小固定的存储块,叫做帧,进程被划分为页。在程序执行时,进程的页将被载入分散在内存中的各个未使用的帧中。因此,为了掌控页的分布,操作系统需要为内存中的每个进程维护一个独立的页映射表,把每个页映射到载入它的帧中。页和帧都是从零开始编号的,这样可以简化地址的计算。 页式内存管理系统中的逻辑地址与分区系统中的一样,但这个地址被转换成两个值————页编号与偏移量。用页面大小除逻辑地址的商是页编号,余数是偏移量。要生成物理地址,找到页所在的帧的编号,然后用帧编号乘以帧大小,再加上偏移量即可。分页的优点在于不必再把进程存储在连续的内存空间中,这种分割进程的能力把为进程寻找一大块可用空间的问题转化成了寻找足够多的小块内存。
进程管理
在计算机系统的管理下,进程会经过进入系统,准备执行,执行,等待资源以及执行结束等几个状态。
1.在创建阶段,将创建一个新的进程。
2.在准备就绪状态中,进程没有任何执行障碍,只是等待使用CPU的机会。
3.等待状态下的进程是当前在等待资源的进程。
4.终止状态下的进程已经完成了它的执行,不再是活动进程。
操作系统必须为每个活动进程管理大量的数据,这些数据通常存储在进程控制块(PCB)的数据结构中。通常,每个状态由一个PCB列表表示,处于该状态的每个进程对应一个PCB当进程从一个状态转移到另一个状态时,它对应的PCB也会从一个状态列表中转移到另一个状态列表中。PCB不仅存储了有关进程的各种信息,还存储了进程在其它CPU寄存器中的值。PCB还要维护关于CPU调度的信息。
CPU调度
当当前执行的进程自愿放弃了CPU时发生的CPU调度,称为非抢先调度。当操作系统决定照顾另一个进程而抢占了当前执行进程的CPU资源时发生的CPU调度,称为抢先调度。从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准,称为周转周期。先到先服务(FCFS)属于非抢先调度,最短作业优先属于抢先调度。CPU的轮询法将把处理时间平均分配给所有准备就绪的进程,该算法建立单独的时间片,即在每个进程被抢占并返回准备就绪状态之前收到的时间量,被抢占的进程最终会得到其他的CPU时间片,这个过程将持续到进程得到了完成所需的全部时间从而终止了为止,被认为是最公平的算法。
** 第十一章:文件系统和目录**
**文件系统 **
主存是存放活动的程序和正在使用数据的地方。主存具有易失性,关掉电源后存储在主存中的信息就会丢失,而二级存储设备则具有永久性,即使关闭了电源,它存储的信息依然存在,因此,我们用二级存储设备永久存储数据。最常用的二级存储设备时磁盘驱动器,包括计算机主机箱中的硬盘驱动器与能够在计算机间转移的便携式磁盘;其他的二级存储设备主要用于归档。文件系统是操作系统提供的一个逻辑视图,使用户能够按照文件集合的方式管理数据,文件系统通常用目录组织文件。
所有文件都可以被归为文本文件与二进制文件。在文本文件中,数据字节是ASCII或Unicode字符集中的字符,二进制文件要求基于文件中的数据给位串一个特定的解释。虽然文本文件只包括字符,但是这些字符可以表示各种各样的信息,用高级语言编写的程序也会被存储位文本文件,有时也叫做源文件,用文本编辑器可以创建,查看,修改文本文件的内容。而有些信息类型则是通过定义特定的二进制格式或解释来表示数据,以使其更有效且更符合逻辑,只有用专门解释这种类型的数据的程序才能阅读或修改它。
文档中包含的信息的种类叫做文件类型。大多数操作系统都能识别一系列特定的文件类型。说明文件类型的常用方法是将文件类型作为文件名的一部分,文件名通常有点号分为两部分,即主文件名与文件扩展名,根据文件类型,操作系统可以按照对文件有效的方式操作它,这样就大大减化了用户的操作。有些文件扩展名是默认与特定的程序关联在一起的,如果需要,可以修改。在某些情况下,一种文件类型能够关联到多种应用程序,因此可以进行选择。改变文件扩展名不会改变文件中的数据或它的内部格式。
在操作系统的协作下,可以对文件进行下述操作:创建文件,删除文件,打开文件,关闭文件,从文件中读取数据,把数据写入文件,重定位文件中的当前文件指针,把数据附加到文件结尾,删减文件,重命名文件,复制文件。操作系统用两种方式跟踪二级存储设备。它维护了一个表以说明哪些内存块是空的,还为每个目录维护了一个表,已记录该目录下的文件的信息。要创建一个文件,操作系统需要先在文件系统中为文件内容找一块可用空间,然后把文件的条目加到正确的目录表中,记录文件的名字与位置;要删除一个文件,操作系统要声明该文件使用的空间现已是空的,并删除目录表中相应的条目。所谓读文件,是指操作系统体检文件中从当前文件指针开始的数据的副本。发生读操作后,文件指针将被更新。写信息是把文件存储到由当前文件指针所指向的位置,然后更新文件指针。通常,操作系统允许用户打开文件以便进行读操作与写操作,但不允许同时进行这两项操作。
顺序访问法与直接访问法是两中主要的访问方法。最常用也是最容易实现的是顺序文件访问,即把文件看作一种线性结构;而采用直接访问文件会被概念性的划分为代编号的逻辑记录,允许用户指定记录编号,从而把文件指针设置为某个特定的记录,因此,用户可以按照任何顺序读写记录,此种方法在即可使用大量数据的情况下很有用。
在很多用户系统中文件保护的重要性居于首位。每个文件都由一个特定的用户所拥有,通常是文件的创造者。OWNER通常具有文件的最高访问许可。一个文件可能具有一个相关的祖名,分组只是一个用户列表,一个关联组中的用户都具有GROUP许可。
目录
一个文件目录还可以包含另一个目录,包含其他目录的目录叫做父目录,被包含的目录叫做子目录。文件系统通常被看作目录树,展示了每个目录中的目录与文件,最高层的目录叫做根目录。在使用Microsoft Windows操作系统的计算机上可以找到目录树,这个目录系统的根目录用驱动器符C:\表示。计算机文件夹表示目录结构,这样构成了包容的思想。嵌套的目录结构允许存在多个同名文件,任何一个目录下的名字必须是唯一的,但不同目录或子目录下的文件则可以是同名的。大多数操作系统还提供非图形化的界面,因此必须使用文本说明文件的位置。要用文本指定一个特定的文件,必须说明该文件的路径,即找到这个文件所必须历经的一系列目录。路径可以是绝对的,也可以是相对的。绝对路径名从根目录开始,说明沿着目录树前进的每一步,直到到达了想要的文件或目录;相对路径名则是从当前工作目录开始。使用相对路径时,又是需返回上层目录,但是用绝对路径名不会出现这种情况。大多数操作系统用(..)来表示父目录,(.)用于表示当前工作目录。大多数操作系统允许用户指定一组检索路径,以帮助解决对可执行程序的引用。
磁盘调度
最重要的二级存储设备是磁盘驱动器,必须采用有效的方式访问存储在这些驱动器上的文件系统,把数据传入或传出二级存储设备是一般的计算机系统的首要瓶颈。在计算机同时处理多个进程时,将建立一个访问磁盘的请求列表。操作系统用于决定先满足哪个请求的方法叫做磁盘调度。
1.先到先服务磁盘调度法
与先到先服务的CPU调度法相似,虽然不是最有效的磁盘调度法,但却是最容易实现的。
2.最短寻道时间优先磁盘调度法
类似于FCFS,但请求·会出现饿死的情况。
3.SCAN磁盘调度法
与电梯类似,但不完全一样。我们要决定读写头最初移动的方向。这种算法的一些变体能用各种方法来提高它的性能。一种变体是把磁盘看作环,另一种变体是最小化轴心到盘片边缘的移动极限。

浙公网安备 33010602011771号