大工21春《操作系统概论》复习资料十八
《操作系统概论》辅导资料十八主 题:第8章 Linux操作系统概论学习时间:2020年7月27日--8月2日“不忘初心、牢记使命”主题理论学习:守初心,就是要牢记全心全意为人民服务的根本宗旨,以坚定的理想信念坚守初心,牢记人民对美好生活的向往就是我们的奋斗目标;以真挚的人民情怀滋养内心,时刻不忘我们党来自人民、根植人民,人民群众的支持和拥护是我们胜利前进的不竭力量源泉;以牢固的公仆意识践行初心,永远铭记人民是共产党的衣食父母,共产党人是人民的勤务员,永远不能脱离群众、轻视群众、漠视群众疾苦。
摘选自《在“不忘初心、牢记使命”主题教育工作会议上的讲话》内 容:
第8章 Linux操作系统概论
这周我们将学习课件第8章,下面整理出的理念框架供同学们学习。这一节主要是学习章节,大家了解就可以
本篇的基本要求:
1.了解Linux操作系统的概念
2. 了解Linux中的处理器调度
3. 了解Linux中的存储管理
4. 了解Linux中的设备管理
5. 了解Linux中的文件管理8.1 概论
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品
/
1991年7月3日,第一个与Linux有关的消息是林纳斯·托瓦兹在comp.os.minix上发布的,此时还不存在Linux这个名称。
/1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码有大约有十万行,用户大约有10万左右。
1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。
1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。
1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。
2001年1月,Linux 2.4发布,2003年12月,Linux 2.6版内核发布,之后发布了嵌入式linux等。
Linux的基本特征
/
8.2 处理器调度
Linux中的进程分为普通进程、实时进程
实时进程的优先级高于普通进程,如果一个实时进程处于可执行状态,它将先得到执行
/
进行调度时,Linux首先将实时进程与普通进程区分开,然后,对不同的进程类型采用不同的调度策略进行调度,共有三种调度策略
/
在Linux2.6中,进程的调度时机与引起进程调度的原因以及进程调度的方式有关。
除核心应用主动调用调度器以外, 内核还存在三种情况启动调度器工作
/三、存储管理
Linux沿用了传统Unix系统中的存储管理机制,采用虚拟存储技术实现内存的管理。进程运行时,不必将整个进程映像全部装入内存中,只需在内存中保留当前用到的页面,当访问的页面不在内存时,再从外存交换区把所需的页面调入内存。
内核将4GB的空间划分为两部分:最高地址的3GB~4GB是“系统空间”,提供给内核自身使用,存放仅供核心态进程访问的代码和数据,由所有核心态进程共享。处于用户态的进程不能直接访问系统空间中的代码和数据,只能在中断或陷入发生时,通过模式切换间接访问。低地址的0~3GB供各个进程使用,称为“用户空间”
Linux的多级页表结构为三级页表机制
/
Linux的地址变换,虚拟地址转换为物理地址的方法如下
/8.4 设备管理
在Linux中,所有设备被当作文件处理,称它们为设备文件或特别文件
用户进程访问设备文件将导致文件系统调用设备驱动程序启动设备完成相应的输入/输出操作
Linux的虚拟文件系统负责为用户进程隐蔽设备文件与普通文件和目录文件之间的差别,它把对设备文件的系统调用转换成对设备驱动程序的函数调用
/设备驱动程序是操作系统内核与硬件设备之间的接口,它通过将设备映射为设备文件方式,对用户屏蔽了硬件的细节,使用户可以像操作普通文件一样对硬件设备进行操作
1.字符设备管理
在Linux中,对打印机、终端等字符设备按照文件进行管理,对它们进行操作使用标准的系统调用。
2.块设备管理
块设备在一次输入/输出操作中至少可以传输一个数据块,Linix中一个数据块的大小必须是磁盘扇区的整数倍。8.5 Linux的文件系统
Linux支持多种文件系统,如下图/虚拟文件系统是Linux内核中的一个子系统,是各种物理文件系统与服务之间的一个接口层。
虚拟文件系统对每个文件系统的所有细节进行抽象,屏蔽各个具体文件系统在实现上的差异,使Linux内核以及系统中运行的其他进程对所有不同文件系统看起来都是相同的。
/有了虚拟文件系统,Linux的其他子系统不再直接与实际文件系统发生联系,而是通过虚拟文件系统间接访问它们。虚拟文件系统拥有各种文件系统的公共接口,各种文件系统的特殊细节问题统一由这些公共接口翻译,整个过程对系统内核和用户进程都是透明的。重要考点
一、简答题
1.有一请求分页存储管理系统,页面大小为每页100字节。有一个50×50的整型数组按行连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:
int a;
inti,j;
for(i=0;i<=49;i++)
for(j=0;j<=49;j++)
a=0;
若在程序执行时内存中只有一个存储块用来存放数组信息,试问该程序执行时产生多少次缺页中断?
答案:
由题目可知,该数组中有2500个整数,每个整数占用2个字节,共需存储空间5000个字节;而页面大小为每页100字节,数组占用空间50页。假设数据从该作业的第m页开始存放,则数组分布在第m页到第m+49页中,它在主存中的排列顺序为:
a,a,…,a 第m页
a,a,…,a 第m+l页
┇
a,a,…,a第m+49页
由于该初始化程序是按行进行的,因此每次缺页中断调进一页后,位于该页内的数组元素全部赋予0值,然后再调入下一页,所以涉及的页面走向为m,m+l,…,m+49,故缺页次数为50次。南开答案可以联系QQ 761296021
页:
[1]