计算机操作系统知识点总结:单项选择题与微内核结构解析

时间:2024-11-11 14:10:17

计算机操作系统知识点总结:单项选择题与微内核结构解析

在计算机领域,操作系统相关的知识既繁杂又至关重要,就好比一幅庞大而精细的拼图,任何一块拼错都可能破坏整个图案的美感。这其中蕴含着许多难点和容易混淆的地方,我们必须认真整理和辨析。

计算机微内核操作系统结构

计算机微内核操作系统结构有其独特性。它将众多功能从内核转移到用户空间。比如,在早期操作系统改进中,人们发现将设备驱动从内核空间移出后,内核变得更加简洁高效。其核心思想是内核仅提供最基本的服务,而其他功能则通过进程间通信调用用户空间的服务进程。这种结构有助于系统的扩展性,但频繁的进程间通信也可能导致效率问题。此外,采用这种结构进行系统设计较为复杂,这也使得开发成本增加。

许多人常把微内核操作系统的构造和宏内核的结构搞混,实际上,这两者间存在着根本的差异。宏内核的结构是将众多功能整合进内核,就好比一个大家庭的总管家,一手包揽了所有事务。相对地,微内核则是将许多事务委托给外部的小管家去处理。通常来说,在单核处理器的应用中,宏内核可能更占优势;而在多核处理器以及需要高度可扩展性的场景中,微内核则展现出更大的优势。

UNIX系统中的父进程与子进程

UNIX系统中,父进程通过fok函数创建子进程的过程非常关键。创建子进程后,父子进程会共同使用某些资源,这就像两家共用一口井一样。子进程会复制父进程的地址空间,但它们各自拥有独立的执行流程。以文件处理程序为例,父进程负责打开文件并读取数据,而子进程则可能负责对数据进行后续处理。

父进程与子进程的状态管理是有一定规则的。通常,父进程可能会比子进程先结束。这时,就需要特别的处理方式来应对子进程。以网络服务程序为例,若父进程因错误而提前终止,子进程就需要得到妥善的处理。若不这样做,就可能产生所谓的孤儿进程,这不仅会造成资源浪费,还可能引发系统不稳定。

操作系统的地址空间

操作系统为用户提供了比实际内存物理空间更大的地址空间,这确实颇为神奇。就好比告诉你,你拥有一百平米的住宅,但实际上可能只有八十平米那么大。这种机制是通过虚拟内存来实现的。以32位操作系统为例,理论上用户进程可以拥有4GB的地址空间,但实际的物理内存容量往往要小得多。

虚拟内存管理涉及众多技术环节。它通过页表映射,将虚拟地址转换成物理地址。以Windows操作系统为例,当多个大型软件同时运行时,系统会频繁调整页表。它将不再使用的页面移至磁盘,同时将需要使用的页面调入内存,确保程序能够顺畅运行。

动态重定位的地址映射

动态重定位涉及在程序运行时对地址进行映射。这个过程是动态进行的。每当处理器执行一条指令,它都会执行一系列相关操作。这就像司机在行驶过程中需要不断调整地图一样。具体而言,当程序在内存中的位置可能变动时,系统会在程序运行期间,依据新的基地址和相对地址,持续更新物理地址。

在多任务操作系统之中,多个程序频繁地在内存中切换,因此动态重定位变得极其关键。以服务器为例,若同时运行多个服务程序,程序在加载与卸载过程中,其内存位置会持续变动。若缺乏动态重定位功能,程序很可能因地址错误而崩溃,进而导致整个服务无法正常运行。

int  ewnum=0,wenum=0;	//从东到西,从西到东在桥上的人数
Semaphore brag=1;	//桥为空的信号量
Semaphore mtx_ewnum=1,mtx_wenum=1;	//对ewnum,wenum变量访问的互斥量
E_W()  //从东到西过桥的游客
{
	P(mtx_ew_num);
	ewnum++;
	if(ewnum == 1){
		___序号1____
	}
	V(mtx_ew_num);
	PassFromEastToWest();		//过桥
	P(mtx_ewnum);
	ew_num--;
	if(ew_num == 0){
		______序号2_____
	}
	V(mtx_ewnum);
}
W_E()  //从西到东过桥的游客
{
	P(mtx_we_num);
	wenum++;
	if(wenum == 1){
		___序号3____
	}
	___序号4____
	PassFromWastToEast();		//过桥
	P(mtx_wenum);
	we_num--;
	if(we_num == 0){
		______序号5_____
	}
	V(mtx_wenum);
}

文件的分类

文件分类有明确的标准,分为系统文件、库函数文件和用户文件。系统文件对操作系统的运行至关重要,如同机械的核心部件一般,缺一不可。库函数文件则是程序开发中的常用工具,就像是建筑工人手中的工具箱。而用户文件则是用户自己创建并使用的,例如个人文档或照片等。

文件分类展现了管理文件的严谨科学。在磁盘管理领域,若要全面备份系统,需先明确需备份的系统文件部分。软件开发中,运用库函数文件能显著提升开发效率。用户文件则是用户使用计算机所取得的成果。各类文件均需采取不同的管理和保护措施。

顺序存取文件物理结构中的存取速度

顺序存取过程中,不同文件的物理结构会带来不同的存取速度。这直接关系到程序的运行效率。以顺序文件结构为例,数据是按顺序连续存储的,因此在顺序读取时速度相对较快。若记录的读取时间为1毫秒,那么读取100个顺序存储的记录,总耗时大约在100毫秒左右,这主要是因为还包括了寻址等少量其他操作。

链式文件结构等非顺序存储方式,数据是分散存放的,得借助指针去寻找下一个数据块,这导致每次查找都要额外花费时间。这就像是要找一串珠子,若是按顺序排列,你就能迅速数到,但若是珠子散乱,查找起来就变得麻烦。你是否有类似的文件存取经历?欢迎分享、点赞、评论。