由于操作系统知识太多,再加上我总结的比较细,所以一片放不下,拆分成了多篇文章。
操作系统笔记——概述、进程、并发控制
操作系统笔记——储存器管理、文件系统、设备管理
操作系统笔记——Linux系统实例分析、Windows系统实例分析
北理工操作系统实验合集 | API解读与例子
这里将CPU调度的时间忽略,三个任务的资源互不重叠,所以并行处理。
首先计算出总时间。分别是30min和15min。总时间是一切计算的基础。
然后看吞吐量。吞吐任务是3个job,除以时间得出吞吐量。所谓的吞吐量,实际上是单位时间完成任务数。
周转时间。因为任务是批量放入的,计算如下:
多通道=5+15+103=10单通道=(5)+(5+15)+(5+15+10)3=553≈18多通道=\dfrac{5+15+10}{3}=10 \\[5pt] 单通道=\dfrac{(5)+(5+15)+(5+15+10)}{3}=\dfrac{55}{3}\approx18 多通道=35+15+10=10单通道=3(5)+(5+15)+(5+15+10)=355≈18
至于利用率,就是某一资源占用时间/总时间就可以,很明显,在利用不同资源的情况下,多通道系统的资源利用率是很高的。
这里只是给出比较简洁,有针对性的总结,如果要系统一些,还是建议刷一遍文章。
1 早期操作系统设计的主要目标是什么?
向上易用性,本身可维护,向下高效率
2操作系统是资源管理程序,它管理系统中的什么资源?
软硬件资源。硬件比如CPU,显示器,打印机,软件比如各种进程。
3为什么要引入多道(批处理)程序系统?它有什么特点?
提高CPU的利用效率,让CPU在一个任务IO的同时,在另一个任务上保持忙碌。
多通道系统可以做到宏观上的并行,但是实际上,不同任务微观上在一个CPU上还是串行,一个CPU上不能同时有两个任务运行,仅仅是实现了CPU与IO的并行。
(实现这一系统需要很多硬件基础,比如中断技术(事件驱动),通道处理器(自动执行IO),主存技术(多程序同时运行)等等。)
4叙述操作系统的基本功能。
向上,为用户提供简洁易用的系统接口,让用户更好地操作硬件。
向下,管理计算机的软硬件资源,提高系统运行的效率。
具体有4个方面,这四个方面就是操作系统学习的几个章节目录:
处理器管理。管理进程,如何调度处理器。
储存器管理。分级管理各种储存器。寄存器,高速缓存,内存,外存。
文件管理。对大容量外存进行更有序地组织。
设备管理。如题。
其实向上和向下并不是完全分割的,比如文件管理,既可以提高效率,也给用户提供了简洁易用的接口。
5批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面?
批处理系统:多任务,宏观并行,微观串行
分时系统:同时性(更强的并行性),独立性,交互性,及时性
实时系统:实时性(优先级并行),确定性,可靠性
批处理系统广泛用于多任务,批量计算场景,分时系统用于多用户场景,实时系统用于要求快速响应,高可靠性的场景。
6操作系统的特性?
并发性。程序之间并发
共享性。程序之间共享资源。并发性的基础是共享资源
虚拟性。把一个实物资源变成若干个逻辑上虚拟资源,支撑了多用户的使用。比如虚拟机,虚拟打印机。
异步性(随机性)。最后的异步性其实是一个缺点,并发与资源之间的制约导致进程之间的调度不完全由管理员和用户控制。
7衡量OS的性能指标有哪些?什么是吞吐量、响应时间和周转时间?
资源利用率,吞吐量,(平均)周转时间,响应时间。
8 什么是嵌入式系统?
嵌入式系统是对基本操作系统进行选择性裁剪形成的简化版系统,安装在硬件较差的嵌入式设备里。
9 什么是对称多处理?它有什么好处?
在多处理器操作系统中,多个处理器是平等的。好处在于可以充分共享资源,提高效率。
10为了实现系统保护,CPU通常有哪两种工作状态?各种状态下分别执行什么程序?什么时候发生状态转换?状态转换由谁实现的?
用户态,执行用户程序,核心态,执行操作系统内核程序。
当用户程序调用系统命令的时候,切换到核心态。核心态代码执行完毕后,切换回用户态。
这些切换涉及到安全问题,肯定不能由用户实现。用户到核心通过硬件实现,核心到用户通过内核程序实现。
这个硬件指的是硬件中断,中断可以理解为消息,用户态向内核发送一个中断,内核允许用户态执行系统调用后会切换为核心态。
11 什么是系统调用?什么是特权指令?特权指令执行时,CPU处于哪种工作状态?
用户调用操作系统内核API。
特权是指令集的一部分特殊指令,关系到系统全局,必须由核心态CPU执行。
12 操作系统通常向用户提供哪几种类型的接口?其主要作用是什么?
操作接口,分为命令行接口与窗口界面。
编程接口,通过系统调用实现。
1程序顺序执行的特点
程序独占所有资源,直到执行完毕。
封闭性。因为独占,所以不受干扰,体现出与外部干扰隔绝的封闭性
可再现性。因为不受干扰,所以总是能按照既定计划完成,可复现。
2 何谓进程,进程由哪些部分组成?试述进程的四大特性(动态性、独立性、并发性、结构性)及进程和程序的区别。
进程没有特定的概念,大致上相当于一个任务,一个正在执行的程序。进程由程序,数据,PCB组成
动态性。进程在程序执行之初创建,执行后释放。
独立性。系统以进程为单位调度资源,每个进程是一个独立单位。
并发性。多进程可以在一CPU上交叉运行
结构型。进程由PCB块进行控制
进程是动态,临时的,程序是静态的,永久的。程序相当于任务的规划,进程相当于任务的具体执行。
3 进程控制块的作用是什么?它主要包括哪几部分内容?
记录进程的元数据,控制进程的调度。
进程标识符。
进程状态,调度,储存器管理的信息。比如进程状态,优先级,程序的地址。
进程的资源信息。进程打开的设备,文件。
CPU现场保护区。比如寄存器信息。
4 进程的基本状态,试举出使进程状态发生变化的事件并描绘它的状态转换图。
三种基本状态:就绪态(有资源无CPU),运行态,阻塞态(有CPU但无资源)
两种额外状态:创建态(不会占用资源),终止态(结束但资源还没释放)
5 什么是原语?什么是进程控制?
操作系统对进程的控制操作,具有原子性,不可以被中断。
原语大致有这么几种:
方式:
非剥夺方式。比如批处理
剥夺方式。有优先级,可以抢占。
时机:
执行完了或者卡住了。进程完成,等待IO
被调度了。比如分时系统中,时间用完了。又或者更高优先级的过来了,就会被切换到就绪态或者阻塞态。
算法:
7 线程的定义,线程与进程的比较。系统对线程的支持(用户级线程、核心级线程、两级组合)。
8 并发执行的进程在系统中通常表现为几种关系?各是在什么情况下发生的?
9 什么叫临界资源?什么叫临界区?对临界区的使用应符合的四个准则(互斥使用、让权等待、有空让进、有限等待)。
10 解决进程之间互斥的办法: 开、关中断,加锁、开锁(又叫测试与设置,通常由一条机器指令完成),软件方法,信号量与P、V操作。
11 若信号量S表示某一类资源,则对S执行P、V操作的直观含意是什么? 当进程对信号量S执行P、V操作时,S的值发生变化,当S>0、S=0、和S<0时,其物理意义是什么?
12 在用P/V操作实现进程通信时,应根据什么原则对信号量赋初值?
13 经典的IPC问题。
14 进程高级通信有哪些实现机制?
15 死锁产生的必要条件及解决死锁的方法
16 理解银行家算法的实质。能够利用银行家算法避免死锁。
1 存储器管理的功能。名字空间、地址空间、存储空间、逻辑地址、物理地址。
2 什么是地址重定位?分为哪两种?各是依据什么和什么时候实现的?试比较它们的优缺点。
3 内存划分为两大部分:用户空间和操作系统空间。存储器管理是针对用户空间进行管理的。
4 存储保护的目的是什么?对各种存储管理方案实现存储保护时,硬件和软件各需做什么工作?
5 试述可变式分区管理空闲区的方法及存储区的保护方式。覆盖与交换有什么特点?
6 页表的作用是什么?简述页式管理的地址变换过程。能利用页表实现逻辑地址转换成物理地址。管理内存的数据结构有哪些?
7 什么是页式存储器的内零头?它与页的大小有什么关系?可变式分区管理产生什么样的零头(碎片)?
8 段式存储器管理与页式管理的主要区别是什么?
5什么是虚拟存储器。虚拟存储器的容量能大于主存容量加辅存容量之和吗?
6实现请求页式管理,需要对页表进行修改,一般要增加状态位、修改位、访问位。试说明它们的作用。
11 产生缺页中断时,系统应做哪些工作?
12 会利用FIFO、LRU、OPT以及时钟页面置换算法描述页面置换过程,计算产生的缺页率。Belady异常。
13 什么是程序的局部性原理?什么叫系统抖动?工作集模型如何防止系统抖动?
14 多级页表的概念,多级页表中页表建立的时机。写时复制技术的概念。
15 页的共享问题。需要一个专门数据结构来记录进程间共享页。
1 什么是文件和文件系统? 文件系统的主要功能。UNIX系统如何对文件进行分类?它有什么好处?
2 文件目录的作用是什么?文件目录项通常包含哪些内容? 文件控制块。
3 文件的逻辑结构有几种形式?文件的存取方法?
4 文件的物理结构有哪几种?对于不同的结构,文件系统是如何进行管理的?
5 DOS文件卷的结构,DOS系统的文件物理结构是什么?
6 了解记录的组块和分解。
7 文件存储空间的管理方法有几种?它们各是如何实现文件存储空间的分配和回收的?
8 建立多级目录有哪些好处?文件的重名和共享问题是如何得到解决的?
9 文件系统中,常用的文件操作命令有哪些?它们的具体功能是什么?打开和关闭文件命令的目的是什么?
10 存取控制表ACL的概念。
11 理解内存映射文件(memory mapped file)的过程。
1 I/O设备通常大致可分为哪两大类?各自传输的信息单位有什么特点?
2 常用的四种数据传输方式。
3 根据设备的使用方式,设备被分为几种类型?何为虚拟设备?它是通过什么技术实现的?
4 按照设备管理的层次结构,I/O软件划分为几层?各层主要实现哪些功能?
5 何为设备的独立性?
(设备独立性是指用户及用户程序不受系统配置的设备类型和具体设备的台号的影响。用户只是使用逻辑设备,具体的映射由操作系统完成。)
6 什么是SPOOLING技术?以输出为例,说明它的实现原理。(SPOOLING技术是以空间换时间)
7 一个特定磁盘上的信息如何进行编址?盘面号、磁道号 和扇区号(或柱面号、磁头号和扇区号)。
8 要将磁盘上一个块的信息传输到主存需要系统花费哪些时间?(寻道时间、旋转延迟时间和读/写传输时间)
9 常用的磁盘调度算法:先来先服务、最短寻道时间优先、扫描法(SCAN, C_SCAN, LOOK, C_LOOK)。
1 进程控制块,其中与进程管理、存储器管理和文件管理有关的一些字段,线程组标识符。
2 与进程创建有关的函数:fork( )、vfork( )、clone( )。
3 理解进程切换的过程。涉及到页目录表、核心栈、硬件上下文。
4 进程调度方式。进程调度时机。
5 Linux有很多内核线程,了解0号进程和1号进程的作用。
1 进程地址空间的划分?管理进程私有地址空间的数据结构?链接虚拟内存区域的单链表和红黑树。指向映射文件对象的指针字段?指向进程页目录表的指针字段?
2 Linux堆的管理:malloc( ),free( )。
3 管理物理内存页框的数据结构? 内存管理区zone结构,伙伴系统?了解分区页框分配器分配页框的过程。
4 理解slab分配器的原理。slab分配器的作用?
5 进程页表建立的时机?了解页目录表项或页表项所包含的字段。逻辑地址的划分,利用两级页表实现地址转换的过程。
6 请求调页。所缺的页可能存放的地方。
7 了解盘交换区空间的管理方法。
1 Ext2文件卷的布局?各部分的作用是什么?
2 Linux系统把一般的文件目录项分成哪两部分?这样做的好处是什么?
3 Linux文件系统的索引节点中,索引表划分成几级?文件的索引表是如何增长的?要求能够利用索引表实现将文件中的字节地址转换成文件的物理块的操作。
4 硬链接和符号链接的区别?
5 Linux文件系统如何管理空闲存储空间?
6 VFS通用文件模型中的四个主要对象?
7 Linux系统中,进程打开一个磁盘文件要涉及哪些数据结构?了解:它们各有哪些关键字段?他们的作用是什么?参考图10.2
8 一个文件在使用与不用时各占用系统哪些资源?
9 安装表的作用是什么?
1.Windows 采用什么样的体系结构?
2.硬件抽象层HAL的作用是什么?
3.Windows系统组件的基本机制包括:陷阱调度、执行体对象管理器、同步(自旋锁、内核调度程序对象)、本地过程调用LPC等。
4.理解:延迟过程调用DPC,异步过程调用APC
5.Windows中有哪些对象,都有什么作用?(两种类型对象:执行体对象和内核对象。执行体组件:进程和线程管理器、内存管理器、I/O管理器、对象管理器等。内核对象是由内核实现的一个初级对象集,对用户态代码不可见,仅供执行体使用。一个执行体对象可以包含一个或多个內核对象。)
6.在多处理机系统中,提供了哪些同步和互斥机制?(内核引入自旋锁实现多处理机互斥机制。内核以内核对象的形式给执行体提供其他的同步机构—“调度程序对象”,包括:进程对象、线程对象、事件对象、信号量对象、互斥体对象、可等待的定时器对象及文件对象等。每个同步对象都有“有信号”或“无信号”两种状态。)
7.线程如何实现等待一个同步对象的操作?
1 两种数据结构:虚拟地址描述符VAD、区域对象,这两种结构各有什么作用?
2 虚拟内存区域:空闲的、保留的、提交的
3 32位逻辑地址,二级页表。页目录表项和页表项具有相同的数据结构,该数据结构包含哪些数据项?进程页表建立的时机。进程的地址转换过程。
4 管理物理内存的数据结构:页框数据库。页框的8种状态:活动、转换、备用、更改、更改不写入、空闲、零初始化、坏,页框的状态转换图16.9。
5 原型页表,区域对象的页表。虚拟页式中,采用原型页表实现多进程共享页。
6 Windows采用的页替换策略是什么?
1 Windows所支持的文件系统类型有哪些?
2 虚拟簇号和逻辑簇号的概念。
3 NTFS卷的结构,主控文件表MFT的作用。
4 NTFS文件的物理结构:索引顺序结构。
5 对于大目录,采用B+树,使得查找一个特定文件的访盘次数减到最少。(大目录文件的索引根属性包含B+树的第一级并指向包含下一级的索引缓冲区。)
下一篇:Linux编程环境