2021年10月27日 2021-2022第一学期20212303《网络空间安全专业导论》第五周学习总结
操作系统层
第十章 操作系统
10.1操作系统的角色
系统软件
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
应用软件
应用软件(Application)是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,多供用户使用。
应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。
操作系统
操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。
多道程序设计
多道程序设计是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。
内存管理
内存管理是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。
进程
程序执行过程中的动态表示法,正在执行的程序
内存管理
是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。
进程管理
了解活动进程的信息的动作
CPU调度
确定主存中那个进程可以访问CPU以便执行的动作
批处理
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为bat 。
分时
分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。
10.2内存管理
物理地址
加载到内存地址寄存器中的地址,内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址,编号从0开始一直到可用物理内存的最高端。这些数字被北桥(Nortbridge chip)映射到实际的内存条上。物理地址是明确的、最终用在总线上的编号,不必转换,不必分页,也没有特权级检查(no translation, no paging, no privilege checks)。
逻辑地址
CPU所生成的地址。逻辑地址是内部和编程使用的、并不唯一。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址(偏移地址),不和绝对物理地址相干。
个人觉的原因在于逻辑地址分配更加灵活,可以允许不唯一,看起来也较为直观,例如,一段代码中分配数组,逻辑地址上是连续的,然而在物理地址上,这个数组所占用的页可能分散开来,物理地址上就是不连续的,这样对程序的可理解性上有影响。另外,有了逻辑地址这个概念,才能使用虚拟内存技术。摘自https://blog.csdn.net/genghaihua/article/details/89450057
地址联编
逻辑地址和物理地址间的映射
内存管理的基本方式
1.单块内存管理
2.分区内存管理
3.页式内存管理
一.单块内存管理
把应用程序载入一段连续的内存区域的内存管理办法
优点:实现和管理都很简单
缺点:大大占用内存空间和CPU时间
二.分区内存管理
分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。
固定分区(nxedpartitioning)
固定式分区的特点是把内存划分为若干个固定大小的连续分区。分区大小可以相等:这种作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小也可以不等:有多个小分区、适量的中等分区以及少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。
优点:易于实现,开销小。
缺点主要有两个:内碎片造成浪费;分区总数固定,限制了并发执行的程序数目。
动态分区的特点是动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通过系统调用进行分配或改变分区大小。与固定分区相比较其优点是:没有内碎片。但它却引入了另一种碎片——外碎片。动态分区的分区分配就是寻找某个空闲分区,其大小需大于或等于程序的要求。若是大于要求,则将该分区分割成两个分区,其中一个分区为要求的大小并标记为“占用”,而另一个分区为余下部分并标记为“空闲”。分区分配的先后次序通常是从内存低端到高端。动态分区的分区释放过程中有一个要注意的问题是,将相邻的空闲分区合并成一个大的空闲分区。
最先适配法(nrst-fit):
按分区在内存的先后次序从头查找,找到符合要求的第一个分区进行分配。该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。但随着低端分区不断划分会产生较多小分区,每次分配时查找时间开销便会增大
最佳适配法(best-fit):
按分区在内存的先后次序从头查找,找到其大小与要求相差最小的空闲分区进行分配。从个别来看,外碎片较小;但从整体来看,会形成较多外碎片优点是较大的空闲分区可以被保留。
最差适配法把最大能够容纳程序的分区分配给它,在固定分区法中没有意义,但在动态分区法中,留下了尽可能大的空白分区
基址寄存器
存放当前分区起始地址的寄存器
界限寄存器
存放当前分区长度的寄存器
页式内存管理
把进程划分为大小固定的页,载入内存时储存在帧中的内存管理方法
帧
大小固定的一部分主存用于存放进程页
页
大小固定的一部分进程,储存在内存帧中
页映射表pmt
操作系统用于记录页和帧之间关系的表
请求分页
页式内存管理法的扩展,只有当页面被引用时才会被载入内存
页面交换
把一个页面从二级储存设备载入内存,通常会使另一个页面从内存中删除
分页系统的优缺点
优点:
1.不会产生外部碎片化,一个进程占用的内存空间可以不是连续的,
2.一个进程的虚拟页面在不需要时,可以存放在磁盘上。
3.可以共享小的地址,即页面共享。只要给相应的页表里面做一个相应的记录便可。
缺点:
1.页表很大,占用了大量的内存空间,32为寻址空间页面大小为4KB,页表将会有2^20个。
关于优缺点的说明,摘用一篇博客中的内容
————————————————
版权声明:本文为CSDN博主「TheShyclear」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/genzld/article/details/83415508
虚拟内存
由于整个程序不必同时处于内存而造成程序大小没有限制的假象
系统颠簸
连续的页面交换造成的低效处理
10.3进程管理
进程控制快
操作系统管理进程信息使用的数据结构
上下文切换
当一个进程移出CPU另一个进程取代它时发生的寄存器信息交换
10.4 CPU调度
CPU调度算法决定了把那个准备就绪状态的进程移入进程状态
非抢先调度
当当前执行的进程自愿放弃了CPU时发生的CPU调度
抢先调度
当操作系统决定照顾另一个操作进程而抢占当前执行进程的CPU资源时发生的CPU调度
周转周期
从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准
对于不同的系统和系统目标,通常采用不同的调度算法:例如,在批处理系统中为照顾为数众多的短作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应采用轮转法进行调度。
先来先服务调度算法(FCFS)
是一种最简单的调度算法,既可用于作业调度,也可用于进程调度。
当在作业调度中采用FCFS算法时,每次调度都是从后备作业队列中,选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列;
在进程调度采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之运行。
FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。
短作业(进程)优先算法(SJ(P)F)
短作业优先(SJF)的调度算法,是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
短进程优先(SPF)调度算法,是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。
短作业(进程)优先算法(SJ(P)F)
参考一位博主的回答,可以借鉴一下。
版权声明:本文为CSDN博主「Orange#」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43237362/article/details/105001131
轮询法
CPU把处理时间平均分配给所有准备就绪的进程
第十一章 文件系统和目录:)
11.1文件系统
文件是相关数据的有名集合,磁盘上的数据都储存在文件中。
·文件系统是操作系统为管理它的文件提供的逻辑视图。
·目录则是文件的有名分组
11.1.1文本文件和二进制文件
首先声明:这两种文件都是以二进制数据储存的。
文本文件:包含字符的文件。
二进制文件:包含特定格式的数据的文件,要求给位串一个特定的解释。
文件类型:文件中存放关于类型的信息。
文件扩展名:文件中说明文件类型的部分。例如family.Java .java就是扩展名。
文件扩展名只说明文件中存放的是什么,所以改变扩展名并不会改变文件格式
11.1.3/4/5文件的操作 文件的访问
- 创建文件
- 删除文件
- 打开文件
- 关闭文件
- 从文件中读取数据
- 重定位文件中的当前文件指针
- 把数据附加到文件结尾
- 删减文件
- 重命名文件
- 复制文件
文件访问法
- 顺序文件访问
把文件看成线性结构,按顺序处理文件中的数据。 - 直接文件访问
文件被概念性地划分为带编号的逻辑记录,直接访问允许用户指定记录编号。
相当于去一个新城市找人,一个没地址一家一家试,一个有地址一步到位
文件的保护
文件保护设置的三类:owner group world
可读 可写 可执行
11.2 目录
目录是文件的有名集合
目录树是目录的分级结构
根目录是包含其他目录的最高级结构
工作目录是当前活动的子目录
11.2.2路径名
路径:文件或子目录在文件系统中的位置的文本名称。
绝对路径:从前根目录开始,包括所有后继子目录的路径。
相对路径:从当前工作目录开始的路径。
11.3磁盘调度
先到先服务磁盘调度法
最短寻道时间优先磁盘调度法
scan磁盘调度法