LINUX复习资料完整版
- 格式:doc
- 大小:68.50 KB
- 文档页数:8
LINUX复习资料
填空题:
1、Linux内核主要是由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信组成
2、Linux系统定义了五种状态进程状态:就绪状态、可中断等待状态、不可中断等待状态、停止状态、中止状态
RT-Linux中的德实时任务在运行过程当中总是处于以下三种状态之一:
等待状态是指正在执行某些事件而无法等到执行,放弃CPU而处于暂停状态;
就绪状态也是因为有更高优先级的任务正在使用CPU而不能投入运行,任务处于等待CPU 的状态,处于就绪队列中;运行状态是任务正在CPU上运行。
3、从Linux的调度来看,支持非实时(普通)和实时两种进程
4、考虑到中断处理的效率,Linux的中断处理程序分为两个部分:上半部(top half)和下半部(bottom half)
5、由外部设备引发的中断叫外部中断,处理器响应中断请求而执行的程序模块叫中断服务例程
6、交换机制:将不用或暂不用的页框中的页移出,装上新的页面
7、linux三级分页结构:页目录、中间页目录、页表
8、进程的通信与同步机制有管道、信号、消息队列、共享内存和信号量集等
9、Linux的管道有:匿名管道和命名管道
10、从信号的可靠性方面,信号可以分为:可靠信号和不可靠信号
11、linux设备驱动注册的基本参数有设备名称,设备驱动的数据结构、设备号和次设备号
12、lsmod把现在kernel中已经安装的modules列出来;insmod把某个module安装到 kernel
13、嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
14、嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。其中,嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM、PowerPC、Xscale、MIPS等)16、嵌入式操作系统是指在嵌入式硬件平台上运行的操作系统,目前主流的嵌入式操作系统有嵌入式Linux、μCLinux、WinCE、μC/OS-Ⅱ、VxWorks等
17、RTOS有QNX,pSOS,vxworks,RT-Linux等
18、Linux用户进程:进程控制块、系统堆栈、用户堆栈、程序代码及数据段组成;
Linux可以管理512个进程,进程调度的police域有:SCHED_OTHER; SCHED_FIFO; SCHED_RR Linux的进程控制相关的系统调用函数有:fork,exit,vfork,wait,execve等
19、Linux 虚拟文件系统维护描述整个虚拟文件系统以及实际已挂装的文件系统的数据结构
20、嵌入式Linux系统中常见的文件系统有:yaffs, jsffs, cramfs等
21、文件系统的安装必须调用mount命令,把其他子系统安装到已经存在于文件系统的空闲节点上。文件系统类型的注册函数为register filesystem,超级用户卸载文件系统使用umount命令
22、Linux实时改造后的系统实时性较好,典型代表有:Kurt-Linux,RED-Linux,RT-Linux、RTAI和Xenomai等。
23、在基于Adeos的系统中,存在着A、B、C、D四种类型的交互。Linux内核负责非实时任务的调度,xenomai实现更小的调度延时。另外,xenomai域的优先级高于Linux域。Xenomai除了在内核层利用Adeos实现了硬件时实时外,它在用户空间也有很好的实时性。
简答题:
1、Slab分配器思想
(1)小对象的申请和释放通过slab分配器来管理。
(2)slab分配器有一组高速缓存,每个高速缓存保存同一种对象类型,如i节点缓存、PCB 缓存等。
(3)内核从它们各自的缓存种分配和释放对象。系统分配对象时就从slab中取得。首先从这个cache中部分满的slab中分配,如果没有这样的slab, 便从空的slab中分配,如果也没有,就创建一个新的slab来分配即可。由于每个对象在释放时几乎处于分配好并且初始化好的状态,还可以节省不少初始化的时间。
(4)每种对象的缓存区由一连串slab构成,每个slab由一个或者多个连续的物理页面组成。这些页面种包含了已分配的缓存对象,也包含了空闲对象。
2、Linux系统进程调度的总体思想。
实时进程优先于普通进程,实时进程以进程的紧急程度为优先顺序,普通进程以进程平等占用CPU时间为基本调度原则。
3、Linux 内核的主要组成部分
Linux内核主要是由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信五个组成。
(1) 进程调度负责控制进程对CPU的访问,调度程序使用一种策略确保所有的进程都能公平的访问CPU,并且确保内核在任意时刻能执行必要的硬件操作。
(2) 内存管理负责管理系统的物理内存,实现多进程安全享享计算机的内存。
(3) 虚拟文件系统通过将各种设备抽象为一种公共接口,从而屏蔽了各种硬件设备的细节。虚拟文件系统可以分为逻辑文件系统和设备驱动程序两部分。
(4) 网络接口提供了对各种网络标准的存取和各种网络硬件的支持,实现了对各种网络标准和网络硬件的访问。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。
(5) 进程间通信子系统实现了系统内部进程间的多种通信机制。
这五个子系统互相依赖,但相对来说进程调度处在比较重要的地位。其他子系统需要挂起和恢复进程的运行都必须依靠进程调度子系统的参与。
4、基于虚拟内存技术的程序执行两次映射:
1.应用程序向虚拟内存映射:用虚拟地址为程序编址,映射到虚拟内存空间;确定其代码段、数据段和堆栈段的地址空间,系统以逻辑地址访问虚拟内存中的某个程序段;
2.把要运行的程序段复制到物理内存,映射到物理内存空间,确定程序的物理地址。虚拟内存逻辑地址与物理地址的对应记录表;系统自物理内存地址读取所需数据。
5、Buddy算法-伙伴算法
Linux对空闲内存空间管理采用Buddy算法。
Buddy算法
(1) 把内存中所有页面按照2n划分,其中n=0~5,每个内存空间按1个页面、2个页面、4个页面、8个页面、16个页面、32个页面进行六次划分。划分后形成了大小不等的存储块,称为页面块,简称页块。包含1个页面的页块称为1页块,包含2个页面的称为2页块,依此类推。每种页块按前后顺序两两结合成一对Buddy“伙伴”。