20212319刘宇佳

 

2021-2022-1学期 20212319刘宇佳《网络空间安全专业导论》第五周学习总结

操作系统

与计算机系统几个层面交互的操作系统

  • 应用软件 为了满足特定需要而编写的
  • 系统软件 负责在基础层上管理计算机系统,计算机的操作系统是系统软件的核心,负责管理资源并提供人机交互的界面。
  • 硬件、其他系统软件

一台计算机通常只有一个活动的操作系统,负责控制工作。计算机硬件是靠电线连接,初始时载入ROM的一组系统指令。

引导:这些指令将从二级存储器中载入大部分系统软件,载入操作系统软件的所有关键元素,执行启动程序,提供用户界面。

双引导或者多引导系统:计算机可以具备多个操作系统任何时候只有一个操作系统在控制计算机

操作系统负责管理由使用他们的程序共享的资源

内存、进程与CPU管理

多道程序设计:主存中同时驻留多个程序,这些程序将竞争CPU的访问。

操作系统必须执行内存管理,明确内存中的程序以及驻留位置。

进程:正在执行的程序。在多道程序设计系统中,可能有多个活动进程,操作系统要执行进程管理,以跟踪进程的进展以及所有中间状态。

内存管理和进程管理都需要CPU调度。

操作系统自身也是必须执行的程序,要和其他系统软件以及应用程序一起维护和管理OS进程执行,OS进程也在竞争CPU的队列中

批处理

一个分批包含一组需要相同或相似资源的作业。在多道程序设计的环境中执行分批系统,操作员把一个分批中的多个作业载入内存,这些作业将竞争CPU和其他共享资源的使用权。一组OS命令定义为一个批文件,一控制一个大型程序或一组交互程序的处理。

分时

分时系统允许多个用户同时与计算机交互,每个用户不必主动竞争资源因为操作系统负责在幕后管理资源共享。在分时系统中,每个用户都有自己的虚拟机。

哑终端是一个显示器和一个键盘,每个用户由主机上运行的一个登陆进程表示。每个进程将得到一小段CPU时间,当系统负荷过重时,每个用户的机器看来都变慢了

其他OS要素

操作系统需要支持实时系统,实时系统是必须给用户提供最少响应时间的系统。

内存管理

操作系统必须采用技术来执行任务:

跟踪一个程序驻留在内存的什么位置以及是如何驻留的

把逻辑程序地址转换成实际的内存地址

逻辑地址(虚拟地址/相对地址)制定了一个普通地址的值,这个地址是相对于程序而不是相对于主存的。

物理地址是主存储设备中的真实地址。

在编译过程中,对标识符的引用将被转化为逻辑地址,但在程序最终载入内存时,每个逻辑地址将被转换成对应的物理地址。两种地址间的映射叫做地址联编。联编时间越迟,得到的灵活度越大

单块内存管理

操作系统得到了所需要的空间,余下的分配给应用软件,一次只能处理一个程序。把应用程序载入一段连续的内存区域的内存管理方法。逻辑地址只是一个相对于程序起始位置的整数值。物理地址=逻辑地址+起始地址。

不交换操作系统和应用程序位置的原因:安全问题(防止一个程序访问未分配给它的内存空间)

分区内存管理

固定分区法

主存将被划分为特定数目的分区,大小不一定相同但是固定。作业将被载入足够容纳他的分区,分区的起始地址和长度被OS记录。

动态分区法

将根据程序的需要创建分区。载入程序时,从主存划分出一块恰好能容纳的空间,系统将维护分区信息表,但是地址信息会随着程序的载入和清除而改变。

程序的起始地址被存储到基址寄存器,分区的长度将被存入界限寄存器。逻辑地址被引用事,将与界限寄存器中的值先比较,逻辑地址的值+基址寄存器=物理地址。

分区方法

最先匹配 能容纳的最前头的

最佳匹配 能容纳的最小的

最差匹配 能容纳的最大的(固定分区中没有意义但是动态分区中常用)

在动态分区中,作业可以在内存中移动,以创建较大的空白分区,这个过程叫压缩。

页式内存管理

跟踪分配的内存,解析地址

主存被分成小的大小固定的存储块,叫做帧。进程被划分为页。

就像是写书,帧是章节,内容是进程,一个进程占一些数量的帧,但这些页是散落的无序的(乱序的书)。操作系统为内存中的每个进程维护一个独立的页映射表(索引,目录)

逻辑地址被转化为两个值:页编号和偏移量。用页面大小➗逻辑地址的商是页编号,余数是偏移量。

物理地址=帧编号*帧大小+偏移量,越过进程界限和偏移量大于帧大小的地址为无效地址。

任何时刻CPU都只访问进程的一个页面,所以进程的所有部分不必同时处于内存中。

在请求分页中,页面经过请求才会被载入内存,使用前要先查看是否存在,不存在的话要从二级存储设备把页面载入可用的帧。页面交换:从二级存储设备载入页面通常会将其他页面写回二级存储设备。

虚拟内存,对程序大小没有限制的假象。页面交换过多叫做系统颠簸,会降低系统性能。

进程管理

管理每个进程使用CPU的时间。

进程状态

  • 创建一个新进程
  • 准备就绪状态中,进程没有任何执行障碍,只是在等待使用CPU的机会
  • 运行状态,即正在被CPU执行
  • 等待状态,等待除CPU以外的资源
  • 终止状态,进程已完成。

在运行过程中,进程可能被操作系统中断,给另一个腾地儿,这种情况下,将返回准备就绪状态。正在运行的进程可以请求为准备好的资源或请求读取新引用的部分进程,这时会到等待状态,等到后进入准备就绪状态。正常运行后会正常终止,或者生成无法解决的错误,异常终止。

进程控制块

数据存储在数据控制块的数据结构中,通常用PCB列表表示。进程换状态时,PCB列表也换状态,存储了各种信息,以及进程在其他所有CPU寄存器的值。每当一个进程移出CPU,另一个进程取代它时发生的寄存器信息交换。

PCB维护关于CPU调度的信息,还包括内存管理的信息和核算信息。

CPU调度

决定把CPU给哪个进程。

非抢先调度:当前执行的进程自愿放弃了CPU时发生的调度

抢先调度:操作系统决定照顾另一个进程而抢占当前执行的进程的CPU资源

周期周转:从进程进入准备就绪状态到他最终完成的时间间隔,是评估CPU调度算法的标准。

方法

  • 先到先服务(FCFS) 按照到达运行状态的顺序,非抢先的。除非请求转入等待,否则一直占用
  • 最短作业优先(SJN)查看所有进程后选择具有最短服务时间的,非抢先。基于估算,具有最短的周转周期。
  • 轮询法 处理时间平均分配。建立单独的时间片(分配给每个进程的时间量)被强占的进程最终会得到其他的CPU时间片。整个过程持续到进程完成所需的全部时间,抢先的,到期则离开。应用最广泛的。

文件系统和目录

主存具有易失性,常用二级存储设备存储信息

磁盘上的数据都存储在文件中

文件:数据的有名集合,可以写入二级存储设备的最小数据量。

文件系统:操作系统提供的逻辑视图,让用户按照文件集合的方式管理数据,用目录组织文件。

一般来说文件存放的是程序或数据,vary from文件类型

文本文件与二进制文件

文本文件:包含字符的文件,数据字节是字符集中的字符。便于理解和修改。

二进制文件:包含特定格式的数据的文件,要求给位串一个特定的解释。更有效且更有逻辑。

但两种文件都是以二进制数字存储的,文本和二进制指的是格式化位串的方式。有些文件中字符本身被存储为文本,其它信息(格式etc)需要文字处理程序进行处理。

主文件名.文件拓展名,拓展名说明文件类型。

文件操作

  • 创建文件
  • 删除文件
  • 打开文件
  • 关闭文件
  • 从文件中读取数据
  • 把数据写入文件
  • 重定位文件中的当前文件指针
  • 把数据附加到文件结尾
  • 删减文件(删除它的内容)
  • 重命名文件
  • 复制文件

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

在对文件执行读写操作前要先打开文件,操作系统维护了一个记录当前打开的文件的小表,避免每次执行一项操作都在大的文件系统中检索文件,关闭后会删除打开的文件表中的相应条目。

任何时候,一个打开的文件都有一个当前文件指针(说明下次读写操作发生在什么位置),有些系统分别有读指针(操作系统提交文件中从当前文件指针开始的数据的副本,操作后更新)和写指针

打开文件的当前指针可以被重定位到文件中的其他位置,以备下次读或写操作。

删减文件是指删除文件内容但不删除文件表中管理条目,为避免删除一个文件又重新创建。

文件访问

文件的访问类型是在创建文件时设置的,访问法法定义了重定位当前文件指针的

顺序访问法

将文件看作线性结构,按顺序处理文件中的数据,根据数据量移动文件指针。

直接访问法

文件会被概念性的划分为带编号的逻辑记录。允许用户指定记录编号,从而把文件指针设置为某个特定的记录。

文件保护

owner有读写/删除,无执行

group有读,不能写/删除,无执行

world没有读写删除和执行。

目录

文件的有名集合,常用文件表示目录。

目录树

父目录可以拥有多个子目录,文件系统通常被看作目录树,最高层的目录叫做根目录。个人计算机通常使用文件夹来表示目录结构,嵌套的目录结构允许存在多个同名文件,但任何一个目录下的所有文件的名字必须是唯一的。

当前活动的子目录叫做工作目录。

路径名

路径是找到这个文件所必须经历的一系列目录

绝对路径:从根目录开始,包括所有后继子目录的路径

相对路径:从当前工作目录开始的路径

(..)表示父目录

磁盘调度

决定先满足哪个磁盘I/O请求的操作。寻道时间是磁盘调度算法处理的重点

  1. 先到先服务磁盘调度法(FCFS)

最容易实现的,按照请求到达顺序。

  1. 最短寻道时间优先磁盘调度法(SSTF)

尽可能少的读写头移动,到达最近的被请求的柱面,但是会出现饿死情况

  1. SCAN磁盘调度法

像电梯一样,eg:先从里侧到外侧,移动的过程中有人按电梯,没过的话就会停,过了就不停

变体1:当读写头到达一端后直接返回另一端(单向电梯)减少平均等待时间

变体2:最小化轴心到盘片边缘的移动极限(LOOK磁盘调度法,如果往上的电梯再上面没有人按,就会往下走)



posted on 2021-10-31 19:33  20212319刘宇佳  阅读(56)  评论(0编辑  收藏  举报

导航