2019-2020-1学期20202407钱虹全《网络空间安全专业导论》第五周学习总结
第10章 操作系统
10.1 操作系统的角色
应用软件(Application software):帮助我们解决现实世界问题的程序
系统软件(System software):管理计算机系统并与硬件进行交互的程序。
操作系统(Operating system):管理计算机资源并为系统交互提供界面的系统软件。
10.1.1 内存、进程与CPU管理
多道程序设计(multiprogramming):同时在主存中驻留多个程序,由他们竞争CPU的技术。
内存管理(memory management):了解主存中载有多少个程序以及它们的位置的动作。
进程(process):程序执行过程中的动态表示法。
进程管理(process management):了解活动进程中的信息的动作。
CPU调度(CPU scheduling):确定主存中的哪个进程可以访问CPU以便执行的动作。
10.1.2 批处理
程序与系统指令集合在一起,称为作业。
10.1.3 分时
分时(timesharing):多个交互用户同时共享CPU时间的系统。
虚拟机(virtual machine):分时系统创建的每个用户都有专有机器的假象。
主机(mainframe):一个大型的多用户计算机,通常与早期的分时系统相关。
哑终端(dumb terminal):在早期的分时系统中用户用于访问主机的一套显示器和键盘。
10.1.4 其他OS要素
实时系统(real-time system):应用程序的特性决定了响应时间至关重要的系统。
响应时间(response time):收到信号和生成响应之间的延迟时间。
10.2 内存管理
逻辑地址(logical address):对一个存储值的引用,是相对于引用它的程序的。
物理地址(physical address):主存储设备中的真实地址。
逻辑地址又称虚拟地址或相对地址。
地址联编(address binding):逻辑地址和物理地址间的映射。
10.2.1 单块内存管理
单块内存管理(single contiguous memory management):把应用程序载入一段连续的内存区域的内存管理方法。
载入起始地址为A,逻辑地址L对应的物理地址就是A+L。
单块内存管理法的优点在于实现和管理都很简单,但却大大浪费了内存空间和CPU时间。
10.2.2 分区内存管理
固定分区法(fixed-partition technique):把内存分成特定数目的分区以载入程序的内存管理方法。
动态分区法(dynamic-partition technique):根据容纳程序的需要对内存分区的内存管理方法。
基址寄存器(base register):存放当前分区的起始地址的寄存器。
界限寄存器(bounds register):存放当前分区的长度的寄存器。
有三种常用分区选择法:
最先匹配(first fit):把第一个足够存放程序的分区分配给它。
最佳匹配(best fit):把最小的能够容纳程序的分区分配给它。
最差匹配(worst fit):把最大的能够容纳程序的分区分配给它。
在固定分区法中,最差匹配没有意义,因为它浪费较大的分区,最佳匹配和最先匹配适合于固定分区;但是在动态分区中,最差匹配常常是最有用的,因为它留下了最大可能的空白分区,可以容纳之后的其他程序。
在动态分区中,作业可以在内存中移动以创建较大的空白分区,这个过程叫做压缩。
10.2.3 页式内存管理
页式内存管理法(paged memory technique):把进程划分为大小固定的页,载入内存时存储在帧中的内存管理方法。
帧(frame):大小固定的一部分主存,用于存放进程页。
页(page):大小固定的一部分进程,存储在内存帧中。
页映射表(Page Map Table,PMT):操作系统用于记录页和帧之间关系的表。
分页的优点在于不必再把进程存储在连续的内存空间中。
请求分页(demand paging):页式内存管理法的扩展,只有当页面被引用(请求)时才会被载入内存。
页面交换(page swap):把一个页面从二级存储设备载入内存,通常会使另一个页面从内存中删除。
虚拟内存(virtual memory):由于整个程序不必同时处于内存而造成的程序大小没有限制的假象。
系统颠簸(thrashing):连续的页面交换造成的低效处理。
10.3 进程管理
10.3.1 进程状态
进程状态(process state):在操作系统的管理下,进程历经的概念性阶段。
准备就绪状态中,进程没有任何执行障碍。也就是说,准备就绪状态下的进程并不是在等待某个事件发生,也不是在等待从二级存储设备载入数据,而只是等待使用CPU的机会。 运行状态下的进程是当前CPU执行的进程。它的指令将按照读取-执行周期被处理。 等待状态下的进程是当前在等待资源(除了CPU以外的资源)的进程。例如,一个处于等待状态的进程可能在等待从二级存储设备载入一个页面,也可能在等待另一个进程给它发送信号,以便继续执行。 终止状态下的进程已经完成了它的执行,不再是活动进程。此时,操作系统不再需要维护有关这个进程的信息。
10.3.2 进程控制块
进程控制块(Process Control Block,PCB):操作系统管理进程信息使用的数据结构。
上下文切换(context switch):当一个进程移出CPU,另一个进程取代它时发生的寄存器信息交换。
10.4 CPU调度
CPU调度就是确定把哪个处于准备就绪状态的进程移入运行状态。
非抢先调度(nonpreemptive scheduling):当当前执行的进程自愿放弃了CPU时发生的CPU调度。
抢先调度(preemptive scheduling):当操作系统决定照顾另一个进程而抢占当前执行进程的CPU资源时发生的CPU调度。
周转周期(turnaround time):从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准。
10.4.1 先到先服务
先到先服务(FCFS)是非抢先的,一旦获得访问权,除非强制请求转入等待状态,否则将一直占用CPU。
10.4.2 最短作业优先
最短作业优先(SJN)CPU调度算法将查看所有处于准备就绪状态的进程,并分派一个具有最短服务时间的,它也是通常被实现为非抢先算法。
10.4.3 轮询法
时间片(time slice):在CPU轮询算法中分配给每个进程的时间量。
CPU的轮询法将把处理时间平均分配给所有准备就绪的过程。该算法建立单独的时间片。
轮询算法是抢先的。时间片到期进程就会被强制移出CPU。它可能是应用最广泛的,被认为是最公平的算法。
第11章 文件系统和目录
11.1 文件系统
文件(file):数据的有名集合,用于组织二级存储设备。
文件系统(file system):操作系统为它管理的文件提供的逻辑视图。
目录(directory):文件的有名分组。
可以把文件看作位序列、字节序列、行序列或记录序列。
11.1.1 文本文件和二进制文件
文本文件(text file):包含字符的文件。
二进制文件(binary file):包含特定格式的数据的文件,要求给位串一个特定的解释。
11.1.2 文件类型
文件类型(file type ):文件中存放的关于类型的信息。
文件扩展名(file extension):文件名中说明文件类型的部分。
11.1.3 文件操作
对文件可以进行的操作:创建文件,打开文件,删除文件,关闭文件,从文件中读取数据,把数据写入文件,重定位文件中当前文件指针,把数据附加到文件结尾,删减文件,重命名文件,复制文件
11.1.4 文件访问
顺序文件访问(sequential file access):以线性方式访问文件中的数据的方法。
直接文件访问(direct file access):通过指定逻辑记录编号直接访问文件中的数据的方法。
11.1.5 文件保护
11.2 目录
11.2.1 目录树
目录树(directory tree):展示文件系统的嵌套目录组织的结构。
根目录(root directory):包含其他所有目录的最高层目录。
工作目录(working directory):当前活动的子目录。
11.2.2 路径名
路径(path):文件或子目录在文件系统中的位置的文本名称。
绝对路径(absolute path):从根目录开始,包括所有后继子目录的路径。
相对路径(relative path):从当前工作目录开始的路径。
11.3 磁盘调度
磁盘调度(disk scheduling):决定先满足哪个磁盘I/O请求的操作。
11.3.1 先到先服务磁盘调度法
11.3.2 最短寻道时间优先磁盘调度法
通过尽可能少的读写头移动满足所有未解决的请求。
存在问题:源源不断的请求过来,那么早期的请求有可能永远得不到满足,就会“饿死”,但是先到先服务磁盘调度法中不会饿死。
11.3.3 SCAN磁盘调度法
读写头向轴心移动,再向盘片边缘移动。 不可能出现饿死现象,因为每个柱面都会被依次处理到。