当前位置:文档之家› 西南交通大学操作系统期末复习总结

西南交通大学操作系统期末复习总结

西南交通大学操作系统期末复习总结
西南交通大学操作系统期末复习总结

1

org 07c00h ;这是告诉编译器将这段程序加载到内存偏移地址0x7c00处

mov ax,cs

mov ds,ax

mov es,ax

call DispStr

jmp $

DispStr:

mov ax,BootMessage

mov bp,ax

mov cx,16

mov ax,01301h

mov bx,000ch

mov dl,0

int 10h

ret

BootMessage: db "hello,os world!"

times 510-($-$$) db 0

dw 0xaa55

这是第一章的程序,从中可以看出起始位置是07c00h,程序的结束标志是0xaa55。

$表示当前行被汇编后的地址。

$$表示一个节的开始处被汇编后的地址。

那么$-$$表示本行距离程序开始处的相对距离。

1.对于程序的说明

实际上以上程序只是一个引导扇区(Boot Sector),不是完整的OS,当计算机电源被打开时,它会加电自检(POST),然后寻找启动盘,如果是从软盘启动,计算机就会检查软盘的0面0磁道1扇区,如果发现它以0xaa55结束,并且包含了少于512字节的执行码,那么BIOS 认为它是一个引导扇区。

一旦发现了引导扇区,就将这512字节放入内存地址0000:7c00处,然后跳转并且移交控制器。

2.制作软盘过程

本身这段程序是boot.asm,是汇编程序,然后使用工具nasm将其转换为boot.bin,

然后使用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区。

(.bin文件的说明:*.bin是Foxbase定义的一种特殊的可执行文件,它同DOS的.com文件类似,区别在于.com文件是从100H开始运行的,而.bin从0开始,.bin的调用参数保存在DS:BX中。如果在Foxbase中,你可以使用Call命令调用。如果你在VFP中,将无法直接调用,只能使用Debug反汇编,分析其功能,然后重新编写.)

3.方括号[]的使用

在NASM中,任何不被方括号[]括起来的标签或变量名都被认为是地址,访问标签中的内容必须使用[]。

3.1认识保护模式

1.对于这一节的程序的理解

数据区:

先是定义了一些描述符(LABEL_GDT,LABEL_DESC_CODE32,LABEL_DESC_VIDEO),

然后定义了GdtPtr,它是一个6字节的数据结构,前两字节表示GDT的界限(即描述符的界限),后4字节表示GDT的基地址(GdtPtr就是用来描述GDT的,会用一个寄存器GDTR来保存它的值)。然后定义两个选择子,分别指向已定义的描述符。

代码区:

初始化32位代码段描述符,为加载GDTR作准备,加载GDTR: lgdt [GdtPtr],然后是关中断:cli,(保护模式下中断处理的机制是不同的,不关中断会出错)打开地址线A20,然后将cr0的PE位置为1(0:实模式,1:保护模式),准备切换到保护模式,跳转到保护模式中jmp dword SelectorCode32:0

2.Descriptor是一个宏,它是一个8字节的数据结构。三个描述符组成了一个结构数组。

3.[BITS 16]说明这是一个16位的代码段,而[BITS 32]是32位的代码段。

程序中的知识点

要搞清楚的有:

GDT是一个索引,指向一个数据结构的表项。GDT作用:提供段式存储机制。

程序对GDT做了什么?

jmp SelectorCode32:0?

GDT

1.在保护模式下,CPU有着巨大的寻址能力(保护模式下为4G,实模式下为1M),并为强大的32位操作系统提供了更好的硬件保障。

2.在保护模式下,段值仅仅变成了一个索引,这个索引指向一个数据结构的一个表项,表项中定义了段的起始地址、界限、属性等内容。这个数据结构就叫GDT,表项就叫描述符。

3.描述符分为代码段和数据段描述符,还可以分为系统段描述符和门描述符。

4.选择子

TI位0:GDT,1:LDT

当TI和RPL都为0时,选择子就变为了偏移。

5."段:偏移"经过段机制转化为“线性地址”,而不是物理地址。

JMP

1.对于cr0的设置是实模式和保护模式的关键

2.jmp dword SelectorCode32:0的作用是将描述符DESC_CODE32对应的段的首地址。

3.为什么那儿有一个dword呢?(没有dword的话编译出来是16位的代码,而目标地址是32位的。)

进入保护模式的主要步骤:

1.准备GDT

2.用lgdt加载gdtr

3.打开A20

4.设置cr0的PE位

5.跳转,进入保护模式

描述符的属性

1.P位——存在位。P=1,表示在段内存中存在;P=0则在内存中不存在。

2.DPL位——描述符特权级。有0,1,2,3级,数字越小级别越大

3.S位——指明描述符是数据段/代码段(s=1),还是系统段/门描述符(s=0)

3.2保护模式进阶

在这一节中,首先在上一节程序的基础上改写:

(1)跳入保护模式之后再次跳回实模式

(2)读写大地址内存

对于读大地址内容,它是先读,然后再写,然后再读,以此来判断是否可以读写大地址内存。(注意:程序中调用子程序时要保存edi的值,要对其进行压栈,所以要用到堆栈,那么在程序中也要有堆栈的描述符和堆栈的选择子。)

从保护模式跳转到实模式时要复杂一些(从实模式到保护模式只要一个跳转就可以了),我们不能直接从32位的代码段中返回实模式,只能从16位代码段中返回,因为无法从32为代码段返回时cs高速缓存寄存器中的属性符合实模式的要求。所以增加一个Normal描述符,在返回实模式前把对应的选择子加载到ds、ss和es.

跳回实模式之后要做的事情:用Normal描述符的选择子加载到ds、ss和es,值cr0的PE=0,关闭A20地址线,开中断STI。

LDT:局部描述符表

1.LDT与GDT差不多,一个是全局的,一个是局部的。在代码中也要有一个LDT的描述符和选择子,它的初始化有所不同,有两步:(1)初始化LDT在GDT中的描述符,(2)初始化LDT中的描述符。其中,第二步与GDT类似,多了一个在GDT中定义LDT。

2.LDT与GDT的区别就在于选择子中TI位(0为GDT,1为LDT)

3.在使用LDT时需要先用lldt指令加载ldtr(lgdt加载gdtr)

4.使用LDT的目的:多任务处理。

5.保护模式“保护”的含义

(1)描述符中的段基址和段界限定义了一个段的范围,对超越段界限之外的地址的访问是被禁止的,这是对段的一种保护。

(2)有点复杂的段属性作为对一个段各个方面的定义规定和限制了段的行为和性质

以上两点是静态的

(3)在涉及特权级的每一步中,处理器都会对CPL,DPL和RPL等内容进行比较,这种比较是动态的。

特权级概述

1.常规保护模式错误

2.将Level0叫做内核,Level1、Level2叫做服务,Level3叫做应用程序。

3.CPL、DPL、RPL

CPL 是当前执行的程序或任务的特权级。通常情况下,CPL等于代码所在段的特权级,

当程序转移到不同特权级的代码段时,处理器将改变CPL。当处理器访问一个与CPL特权级不同的一致代码段时,CPL不会被改变。

DPL 表示段或者门的特权级,下面是各种类型的段或者门的情况

数据段:高级->低级,相同级别之间

非一致代码段:相同级别之间

调用门:与数据段一致

一致代码段和通过调用门访问的非一致代码段:低级->高级,相同级别之间

TSS(Task-State Stack:任务状态栈):与数据段一致

RPL 通过选择子的第0位和第1位表现出来的。操作系统过程往往用RPL来避免低特权级应用程序访问高特权级段内的数据。

4.不同特权级代码之间的转移

程序从一个代码转移到另一个代码之前,目标代码的选择子将会被加载到cs中。通常使用jmp和call指令来实现转移,转移分为两大类:(1)直接转移(2)间接转移

特权级转移

1.如果目标是非一致代码段,要求CPL必须等于目标代码段的DPL,同时要求RPL小于等于DPL。如果目标是一致代码段,要求CPL大于或者等于目标段的DPL,RPL此时不做检查。这种直接转移是非常有限的,为了实现不同特权级之间的转移,可以使用门描述符或者TSS。

2.门是一种描述符,它由一个选择子和一个偏移所指定的线性地址。

门的种类:调用门,中断门,陷阱门,任务门。

作用:实现不同特权级之间的转换。

在原程序的基础上做的一些工作:定义门描述符及其选择子,初始化描述符,使用call 指令来实现跳转到已经定义好的通过门描述符能够跳转到的目标段。

门实际上是一个入口地址,只不过增加了若干的属性而已。

3.门转移总结:

通过调用门和call指令,可以实现从低特权级到高特权级的转移,无论目标代码是一致的还是非一致的。我们的目标是从低到高,在从高到低,那么下面的任务就是如何从高到低了。

4.长的和短的jmp和call的区别:对jmp而言,短跳转对应段内,长跳转对应段间;call 要复杂一些,因为call指令会影响堆栈。

5. 在使用call指令时,由于某些原因堆栈发生了切换,也就是说call指令执行前后的堆栈已经不是同一个。Intel提供了一种机制,将堆栈A的诸多内容赋值到堆栈B中。事实上,由于每一个任务最多可能在4个特权级间转移,所以,每个任务实际上需要4个堆栈,此时要用到一种数据结构,即TSS(Task-State Stack)。

6.综合:使用调用门的过程实际上分为两个部分,一部分是从低特权级到高特权级,通过调用门和call指令来实现;另一部分则是从高特权级到低特权级,通过ret指令来实现。

7.用程序实现从ring0到ring3

在这里我们需要在原程序的基础上增加ring3的代码段描述符和堆栈段描述符,并添加响应的选择子,

做好工作后,执行一下程序:

push SelectorStack3

push TopOfStack3

push SelectorCodeRing3

push 0

retf

为什么会进入ring3呢?

原来程序是执行在ring0的,当使用retf指令后,堆栈将被自动切换到ring3的堆栈段,执行ring3的代码,也就完成了从高特权级项低特权级的转换。

8.从高特权级项低特权级的转换和从低特权级项高特权级的转换都需要用到TSS。

3.页式存储

1.页的概念

页是一块内存,在80386中,大小固定为4K。在Pentium中,大小可以是2MB或4MB,并且可以访问多余4GB的内存。

2.逻辑地址、线性地址、物理地址

在未打开分页机制的时候,逻辑地址经过分段机制直接转换成物理地址。

打开分页机制后,逻辑地址经过分段机制先是转换成线性地址,

线性地址再经过分页机制转换成物理地址。

3.分页的目的

实际上使用分段机制已经提供了很好的保护机制,

分页的目的在于实现虚拟存储器。

用代码启动分页机制

代码

PageDirBase equ 200000h ; 页目录开始地址: 2M

PageTblBase equ 201000h ; 页表开始地址: 2M+4K

。。。

LABEL_DESC_PAGE_DIR: Descriptor PageDirBase, 4095, DA_DRW;Page Directory

LABEL_DESC_PAGE_TBL: Descriptor PageTblBase, 1023, DA_DRW|DA_LIMIT_4K;Page Tables 。。。

SelectorPageDir equ LABEL_DESC_PAGE_DIR - LABEL_GDT

SelectorPageTbl equ LABEL_DESC_PAGE_TBL - LABEL_GDT

。。。

; 启动分页机制--------------------------------------------------------------

SetupPaging:

; 为简化处理, 所有线性地址对应相等的物理地址.

; 首先初始化页目录

mov ax, SelectorPageDir ; 此段首地址为PageDirBase

mov es, ax

mov ecx, 1024 ; 共1K 个表项

xor edi, edi

xor eax, eax

mov eax, PageTblBase | PG_P | PG_USU | PG_RWW

.1:

stosd

add eax, 4096 ; 为了简化, 所有页表在内存中是连续的.

loop .1

; 再初始化所有页表(1K 个, 4M 内存空间)

mov ax, SelectorPageTbl ; 此段首地址为PageTblBase

mov es, ax

mov ecx, 1024 * 1024 ; 共1M 个页表项, 也即有1M 个页

xor edi, edi

xor eax, eax

mov eax, PG_P | PG_USU | PG_RWW

.2:

stosd

add eax, 4096 ; 每一页指向4K 的空间

loop .2

mov eax, PageDirBase

mov cr3, eax

mov eax, cr0

or eax, 80000000h

mov cr0, eax

jmp short .3

.3:

nop

ret

; 分页机制启动完毕----------------------------------------------------------

代码过程说明:

首先定义页目录项(PDE)和页表项(PTE)的描述符和选择子,然后将es:edi指向页目录表的开始。经过1024个循环之后,将所有PDE赋值完,他们属性相同,都是指向可读可写的用户级别页表。然后将es:edi指向页表的开始。经过1024*1024个循环,将所有PTE赋值完,他们属性相同,都是指向可读可写的用户级别页。下面就是让cr3(cr3是一个指向PDE的页目录表,又叫PDBR(Page-Directory Base Register))指向页目录,然后设置cr0的PG位(cr0的PG位为最高位,为1表示分页机制启动,为0表示未启动),这样,分页机制就完成了。

关于PDE、PTE的一些说明

1.P位——存在位。P=1表示在物理内存中存在;P=0表示不存在,如果处理器视图访问此页,那么将会产生页异常。

2.A位——指示页或页表是否被访问

3.处理器会将最近常用的页目录和页表项保存在一个叫做TLB(转移后背缓冲区)的缓冲区中,只有当TLB中找不到被请求也的转换信息时,才到内存中去找,这样加快了速度。

4.当页目录或页表项被更新时,OS会马上让TLB无效。当cr3被加载时,所有TLB都会自动失效,除非页或页表的G位被设置。

克勤克俭用内存

这部分的目的:

在前面的是4KB->4MB->4GB,但是内存也不一定那么大,如果内存本身就很小,几十MB,那么你的页表(4MB)就占了很多,所以有必要知道内存大小。

获取内存大小的方法:使用中断15h

我们想得到内存的信息,那么采用的方法是将得到的描述信息保存到一段缓冲区中。因为一个ARDS的大小是20字节,那么这里定义一个256字节的缓冲区(实际上也是不确定其大小的)。然后待会儿可以显示出来。

得到内存信息代码:

_MemChkBuf: times 256 db 0 ;内存缓冲区

。。。

; 得到内存数

mov ebx, 0

mov di, _MemChkBuf

.loop:

mov eax, 0E820h

mov ecx, 20

mov edx, 0534D4150h

int 15h

jc LABEL_MEM_CHK_FAIL ;该语句就是判断是否有进位

add di, 20

inc dword [_dwMCRNumber] ;用于记录循环次数,也就是地址范围描述符结构的个数cmp ebx, 0

jne .loop

jmp LABEL_MEM_CHK_OK

LABEL_MEM_CHK_FAIL:

mov dword [_dwMCRNumber], 0

LABEL_MEM_CHK_OK:

代码说明:地址范围描述符(ARDS)的大小就是20个字节,所以di每次增加20,在代码中es:di的赋值似乎是BIOS自动填充的,没有手动填充的痕迹。跳出循环的条件是ebx=0或者CF没有进位(CF=0)

1.关于ARDS的type的说明

1)AddressRangeMemory 可以使用

2)AddressRangeReserved 不可以使用

2.我们处理得到内存的大小外,还得到了可用内存的分布信息。并且内存的分布可能是不连续的。

3.在得到内存大小后,将该值除以4MB,就可以得到PDE的个数,将PDE初始化,也就是将1024替换掉。然后是要初始化PTE,只需要将PDE的个数*1024即可。

进一步体会分页机制

在这里我们要实现:先执行某个线性地址处的模块,然后通过改变cr3来转换地址映射关系,再执行同一个线性地址处的模块,由于地址映射已经改变,所以两次得到的应该是不同的输出结果。

其实分页机制的好处还有,程序使用的都是线性地址,而不是直接的物理地址。

此时OS为应用程序提供了一个不依赖于硬件(物理内存)的平台。

在3.3中,是在实模式下得到的内存信息,然后在保护模式下将其显示出来。

而在保护模式下,原来的中断向量表由IDT(Interrupt Descriptor Table,中断描述符表)代替,IDT中的描述符可以是以下三种之一:

(1)中断门描述符

(2)陷阱门描述符

(3)任务门描述符

IDT的作用是将每一个中断向量和描述符对应起来。

在前面使用调用门是通过call指令,这里使用中断门和陷阱门是使用int指令。

3.4中断和异常机制

1.中断:中断通常在程序执行时因为硬件而随机发生,他们通常用来处理处理器外部的事件,比如外围设备的请求。软件通过执行int n指令也可以产生中断。(软硬件都可以)

2.异常:异常通常在处理器执行指令过程中检测到的错误时发生,比如遇到除零的情况。(多指软件方面)

问题:处理器可以对何种类型的通知作出反应。接到某种通知时做出何种反应。

3.Fault(错误)、Trap(陷阱)和Abort(终止)三种类型的异常

①Fault是一种可以被更正的异常,而且一旦被更正,程序可以不失连续性地继续执行。当一个Fault发生时,处理器会把产生fault指令之前的状态保存起来。异常处理程序的返回地址将会是fault的指令,而不是其后的那条指令。

②Trap是一种在发生trap指令执行后立即被报告的异常,他也允许程序或任务不失连续性地继续执行。异常处理程序的返回地址将会是产生trap的指令之后的那条指令。

③Abort是一种不总是报告精确异常发生的位置的异常,它不允许程序或任务继续执行,而是用来报告严重错误的。

写一个硬件中断程序,所做的工作有两点:

(1)设置8259A

使用OCW1、OCW2、OCW3的情况,

一是屏蔽或打开外部中断

二是发送EOI给8259A以通知它中断处理结束

(2)建立IDT(这部分跟建立GDT或LDT差不多)

时钟中断实验

1.外部可屏蔽中断的发生受到两个因素的影响,只有当IF=1,并且IMR(OCW1)位为0时才发生。

2.从中断或异常返回时必须使用指令iretd,它与ret相似,只是它同时会改变eflags的值。iretd 执行时Error Code不会被自动从堆栈中弹出,所以,执行它之前要先将它从栈中清除。

3.中断门和陷阱门的区别:中断门会影响标志IF(由中断门引起的中断会复位IF,因为可以避免其他中断干扰当前中断的处理。随后的iret指令会从堆栈上恢复IF的原值)。陷阱门不会改变IF。

保护模式下的I/O

1.对I/O的限制是保护模式的内容,可以通过两个方面的限制来实现:IOPL和I/O许可位图

2.IPOL位于eflags的12、13位

指令in,ins,out,outs,cli,sli只有在CPL<=IPOL时才能执行,这些指令叫做I/O敏感指令,如果低特权级的指令试图访问这些I/O指令将会导致常规保护错误。可以改变IPOL的指令有popf和iretd,只有运行在ring0的程序才可以将其改变。popf同时可以用来改变IF。

3.I/O许可位图必须以0FFH结尾。

3.6保护的种类

1.在GDT、LDT以及IDT中,每一个描述符都有自己的界限和属性等内容,是对描述符所描述对象的一种限定和保护。

2.分页机制中的PDE和PTE都含有R/W和U/S位,提供了页级保护。

3.页式存储的使用使应用程序的是线性地址空间不是物理地址,于是物理内存就被保护了起来。

4.中断不再像是模式下一样使用,也提供特权检验等内容。

5.I/O指令不再随便使用,于是端口被保护了起来。

6.在不同的特权级之间转换时,CPL、DPL、RPL、IOPL等内容会进行非常严格的检验。

4突破512字节限制

一个OS从开机到开始运行,大致经历了以下阶段:

引导——>加载内核如内存——>跳入保护模式——>开始执行内核

而引导扇区(Boot Sector)只有512字节,要完成以上全部过程是不行的,大小受到了限制。该怎么办呢?我们可以采用用Boot Sector来引导把Loader加载入内存并且把控制权交给它,让它来实现加载内核等的工作。

FAT12

1.FAT12是文件系统,磁盘分层:

扇区:磁盘上的最小数据单元

簇:一个或多个扇区

分区:通常指整个文件系统

2.引导扇区位于FAT12的第0个扇区,在这个扇区中有一个很重要的数据结构叫BPB。

引导扇区中记录了FAT12的信息,比如BPB_RootEntCnt表示根目录文件数最大值。

还有就是每扇区字节数,每簇扇区数等。

3.规定Loader位于根目录区,根目录区的每一个条目占用32字节,有文件名、属性、大小等信息,那么找Loader就要到根目录区中去一个一个的找。

4.数据区的第一个簇的簇号是2,而不是0或1。

5.根目录区的开始扇区号为19(扇区大小可以看BPB_BytsPerSec,书上是512字节),

因为根目录区的大小是不确定的,那么数据区的开始位置也是不确定的。

数据区的开始扇区号=19+根目录区的大小

根目录区的大小=(BPB_RootEntCnt*32+BPB_BytsPerSec-1)/BPB_BytsPerSec

从中可以看出,根目录区是保存文件的属性信息,而数据区是保存文件的内容信息的。

6.现在有一个问题,那就是既然通过上述方法都是可以找到文件及其内容的,那又何必要什么FAT项呢!? (实际上,对于小于512字节的文件来说,上述方法就可以解决了,而对于大于512字节的文件来说,我们需要FAT表来找到所有的簇(扇区)。)

7.FAT的结构——每12位称为一个FAT项,代表一个簇。第0个和第1个不实用,与数据区对应。

8.FAT值的说明

FAT项的值代表的是文件的下一个簇号,但是如果值大于或等于0xFF8,则表示当前簇已经是本文件的最后一个簇。如果值为0xFF7,表示它是一个坏簇。

加载Loader入内存

1.软盘容量的由来

2(共有两面,磁头号0和1)*80(每面有80个磁道,磁道号0~79)*18(每个磁道有18个扇区)*512(每个扇区的字节)=1.44MB。

2.找Loader需要知道的一些循环

(1)根目录区的扇区数目

(2)由一个扇区的大小和根目录的文件大小确定的文件个数

(3)Loader.bin的长度:11

3.当我们找到Loader.bin之后,需要用扇区号来做两件事:

(1)把起始扇区装入内存中

(2)通过起始扇区的内容来找到FAT项,从而找到Loader占用的其余所有扇区。

4.由于一个FAT项可能跨越两个扇区,所以在代码中一次总是读两个扇区,以免在边界发生错误。

5.已知簇号为x,求从引导扇区开始算起是第几个扇区的方法。

x+RootDirSectors+19-2,RootDirSectors代表根目录区的扇区数,在前面已经求出,减2是因为簇号是从2开始的。

注意:这一章有两个运算,一个是求根目录去所占的扇区数(已知根目录区文件最大数),还有一个就是已知簇号求扇区号。

这一章遗留的问题

在这一章,实际上我们做的工作就是找到Loader并且执行它(可以把第三章中保护模式

的内容作为Loader,这样它会更高级一些),但是它并不是操作系统内核,我们希望的是通过Loader来加载内核并且将内核放入内存中,而且内核开始执行的时候已经是在保护模式下了,

所以,Loader要做的事情至少有两件:

(1)加载内核入内存

(2)跳入保护模式

5.1在linux下用汇编写hello world

当有一个hello.asm文件的时候,将其在Linux下运行。

当然,我们希望的是运行elf格式的可执行文件,所以需要进行如下处理:

ls

hello.asm

nasm -f elf hello.asm -o hello.o

(-f elf指定了输出文件的格式为ELF格式)

ls

hello.asm hello.o

ld -s hello.o -o hello

ls

hello.asm hello.o hello

5.3ELF

ELF文件的结构如下

ELF头(ELF header)

程序头表(Program header table)

节(Sections)

节头表(Section header table)

实际上,只有ELF头的位置是固定的,其余部分的位置、大小等信息由ELF头中的信息的各项值来决定。Program header描述的是一个段在文件中的位置、大小以及它被放进内存后所在的位置和大小。

5.4从loader到内核

用Loader加载ELF

1.找内核实际上和找Loader很像,都是寻找文件、定位文件以及读入内存。

2.找Loader和内核的比较

文件头位置文件内容位置

Loader 根目录区数据区

Kernel 程序头表书上没说

3.新函数KillMotor:作用是关闭软驱马达,否则软驱的灯会一直亮着。

跳入保护模式

这一部分的目的就是将那个简单的内核程序换成能在保护模式下运行的程序,这样程序变得更高级了。

1. Loader是由我们自己加载的,段地址已经被确定为BaseOfLoader,也就是说在Loader中出现的标号(变量)的物理地址可以得出。

Boot中也需要,它可以确定Loader的物理地址(09000h,0100h)

Loader中也需要,它可以确定Kernel的物理地址(刚开始是08000h,0h;后来整理后为03000h,0h)

在以上基础上打开分页机制

1. 首先要获取内存信息,然后显示内存信息(内存可用的大小用dwMemSize(保护模式下)来保存),然后是启动分页机制的函数(SetupPaging)显示内存信息并且启动分页机制push szMemChkTitle

call DispStr

add esp,4

call DispMemInfo

call SetupPaging

重新放置内核

1. 以前我们让程序头表(Program header table)对等映射到内存中,即:

memcpy(p_vaddr,BaseofLoaderPhyAddr+p_offset,p_filesz),

其中p_vaddr表示程序头表描述的段在内存中的位置,p_offset表示段在文件中的偏移,p_filesz表示段的大小。但是,对等映射可能超出了内存的范围(以前有ld生成的可执行文件中p_vaddr的值总是一个类似与0x8048XXX的值,超过了128MB的0x8000000),那么有两种方法可以采取:

(1)修改页表让0x8048XX映射到更低的地址

(2)修改ld指令让它生成可执行代码中p_vaddr值的大小。

2. 我们将0x8048XX改为0x30400,也就是说程序的入口地址变成了0x30400了,ELF头等信息会位于0x30400之前。但是为什么会是0x30400呢?这就要考虑到内存的分布情况。内存中400h~500h存储的是BIOS的参数区,显然不能占用。我们只能使用的是0500h~09FBFFh 这一段,但是30400离500还是有点远的,这样做的目的是为了调试方便。因为大多数的DOS都不占用0x30000以上的内存地址,把内存加载到这里,即使是在DOS下调试也不会覆盖掉DOS内存。

5.5扩充内核

在5.4中esp、GDT等内容还在Loader中,我们要把它们放到内核中才好。

切换堆栈和GDT的代码:

SELECTOR_KERNEL_CS equ 8

; 导入函数

extern cstart

; 导入全局变量

extern gdt_ptr

[SECTION .bss]

StackSpace resb 2 * 1024

StackTop: ; 栈顶

[section .text] ; 代码在此

; 把esp 从LOADER 挪到KERNEL

mov esp, StackTop ; 堆栈在bss 段中

sgdt [gdt_ptr] ; cstart() 中将会用到gdt_ptr

call cstart ; 在此函数中改变了gdt_ptr,让它指向新的GDT

lgdt [gdt_ptr] ; 使用新的GDT

;lidt [idt_ptr]

jmp SELECTOR_KERNEL_CS:csinit

csinit: ; “这个跳转指令强制使用刚刚初始化的结构”——<> P90.

push 0

popfd ; Pop top of stack into EFLAGS

hlt

代码说明:函数cstart()首先把位于Loader中的原来的GDT全部赋值给新的GDT,然后把gdt_ptr中的内容换成新的GDT的基地址和界限。

完整版操作系统复习题简答题总结

1操作系统的基本特征有哪些? 答:操作系统的基本特征: (1)并发。并发是指两个或多个活动在同一给定的时间间隔中进行。 (2)共享。共享是指计算机系统中的资源被多个任务所共用。 (3)异步性。在多道程序环境下,各个程序的执行过程有“走走停停”的性质。每一道程序既要完成自己的事情,又要与其他程序共享系统中的资源。这样,它什么时候得以执行、在执行过程中是否被其他事情打断(如I/O中断)、向前推进的速度是快还是慢等,都是不可预知的,由程序执行时的现场所决定。另外,同一程序在相同的初始数据下,无论何时运行,都应获得同样的结果。这是操作系统所具有的异步性。 2操作系统的主要功能有哪些? 答:操作系统的主要功能包括:存储管理,进程和处理机管理,文件管理,设备管理以及用户接口管理。 3、操作系统一般为用户提供了哪三种界面?它们各有什么特点? 答: 、操作系统主要有哪三种基本类型?它们各有什么特点?4 系统各采系统和Linux5、操作系统主要有哪些类型的体系结构?UNIX 用哪些结构?答:一般说来,操作系统有四种结构:整体结构、层次结构、虚拟机结系统采UNIXLinux-构、客户机服务器结构。系统采用的是整体结构。用的是层次结构。 6、Linux系统有什么特点?

、使用虚拟机有哪些优势和不足?7 、现代计算机系统由什么组成的?8 、在操作系统中,为什么要引入进程的概念?它与程序的9 区别和联系分别是什么?

10、操作系统在计算机系统中处于什么位置? 、进程的基本状态有哪几种?11 答:进程的基本状态有三种,分别为运行态、就绪态、阻塞态。12、你熟悉哪些操作系统?想一想你在使用计算机过程中,操作系统如何提供服务? 答:我们最熟悉的一般为Windows操作系统,它是由微软(Microsoft)公司推出的一个功能强大的图形界面操作系统。常用的操作系统还有Linux,UNIX操作系统。 我们在使用计算机时,首先接触的是用户界面,我们可以通过键盘上输入命令,在桌面上点击鼠标完成操作,这时系统就知道执行相应的功能。 13、PCB的作用是什么?它是怎样描述进程的动态性质的? 答:进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB 表现出来的;PCB是进程存在的唯一标志。 PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。 14、PCB表的组织方式主要有哪几种?分别简要说明。 答:PCB表的组织方式主要有:线性方式、链接方式和索引方式。 线性方式是把所有进程的PCB都放在一个表中。 链接方式按照进程的不同状态把它们分别放在不同的队列中。 索引方式是利用索引表记载相应状态进程的PCB地址。 15、进程和线程的区别是什么? 答:(1)动态性。程序是静态、被动的概念,本身可以作为一种软件资源长期保存;而进程是程序的一次执行过程,是动态、主动的概念,有一定的生命周期,会动态地产生和消亡。 (2)并发性。传统的进程是一个独立运行的单位,能与其他进程并发执行。进程是作为资源申请和调度单位存在的;而通常的程序是不能作为一个独立运行的单位并发执行的。 (3)非对应性。程序和进程无一一对应关系。一个程序可被多个进程共用;一个进程在其活动中又可以顺序地执行若干个程序。 (4)异步性。各个进程在并发执行过程中会产生相互制约关系,造成各自前进速度的不可预测性。而程序本身是静态的,不存在这种异步特征。 16、进程进入临界区的调度原则是什么? 答:①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 ②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己

计算机操作系统期末复习总结

第一章操作系统引论 1.操作系统定义:操作系统是配置在计算机硬件上的第一层软件,是对硬件功能的首次扩充。 2.操作系统的基本类型:批处理系统,分时系统,实时系统 3.脱机技术:主机与IO设备脱离的技术 4.多道程序技术:在内存中同时有多个程序并存的技术 5.操作系统的基本特性:并发性,共享性,异步性,虚拟技术 6.操作系统的五大功能:处理机管理功能,存储器管理功能,设备管理功能,文件管理功能,用户交流界面(人机接口) 第二章进程管理 1.进程的概念:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 2.状态转换图 3.进程控制块PCB,在进程的整个生命周期中,系统总是通过PCB对进程进行控制,因此PCB是进程存在的唯一标志。 4.原语是由若干条指令组成的,用于完成一定功能的一个过程。它与一般过程的区别在于:它们是“原子操作”。所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。 5.进程同步的主要任务是对多个相关进程在执行持续上进行协调,已使并发执行的诸进程之间能有效的共享资源和互相合作,从而使程序执行具有可再现性。 6.临界资源、临界区、信号的概念、同步、互斥问题的解决方法 临界资源:Critical Resouce 诸进程间应采取互斥方式,实现对这种资源的共享,如打印机,磁带机等。

临界区:人们把在每个进程中访问临界资源的那段代码称为临界区(critical section) 信号: 同步合作直接 互斥竞争间接 7.进程通信的三种类型:共享存储器系统、消息传递系统、管道通信系统 8.线程的概念和两种类型: 线程:被称为轻型进程或进程元,通常一个进程拥有若干个线程。 两种类型:用户级线程和内核支持线程 第三章处理机调度与死锁 1.调度三个层次:高级调度,中级调度,低级调度 2.调度算法: FCFS先来先服务 SPF段作业优先调度 RR时间片轮转法 3.死锁的概念,在多个进程在运行过程中因为争夺资源而造成的一种僵局,当进程处于这种僵局状态时,若无外力作用,他们都将无法再向前推进。 4.死锁的原因和条件 原因:资源不足(根本原因),进程推进顺序非法 必要条件:互斥条件、请求和保持条件、不剥夺条件,环路等待条件。 5.死锁解决的三种方案:摒弃“请求和保持”条件、摒弃“不剥夺”条件、摒弃“环路等待”

操作系统知识点整理

第一章操作系统引论 操作系统功能: 1. 资源管理:协调、管理计算机的软、硬件资源,提高其利用率。 2. 用户角度:为用户提供使用计算机的环境和服务。 操作系统特征:1.并发性:指两个或多个事件在同一时间间隔内发生。 2.共享性:资源可供内存中多个并发执行的进程(线程)共同使用 3.虚拟性:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物 在操作系统中,虚拟的实现主要是通过分时使用的方法。 4.异步性:进程是以人们不可预知的速度向前推进,此即进程的异步性 客户/服务器模式的优点: 1.提高了系统的灵活性和可扩充性 2.提高了OS的可靠性 3.可运行于分布式系统中 微内核的基本功能: 进程管理、进程间通信、存储器管理、低级I/O功能。 第二章进程 程序和进程区别:程序是静止的,进程是动态的,进程包括程序和程序处理的对象 程序顺序执行:顺序性,封闭性,可再现性 程序并发执行:间断性,无封闭性,可再现性 进程:1.进程是可并发执行的程序的一次执行过程; 2.是系统进行资源分配和调度的一个独立的基本单位和实体; 3.是一个动态的概念。 进程的特征: 1.动态性: 进程是程序的一次执行过程具有生命期; 它可以由系统创建并独立地执行,直至完成而被撤消 2.并发性; 3.独立性; 4.异步性; 进程的基本状态: 1.执行状态; 2.就绪状态; 3.阻塞状态; 进程控制块PCB:记录和描述进程的动态特性,描述进程的执行情况和状态变化。 是进程存在的唯一标识。 进程运行状态: 1.系统态(核心态,管态)具有较高的访问权,可访问核心模块。 2.用户态(目态)限制访问权 进程间的约束关系: 1.互斥关系 进程之间由于竞争使用共享资源而产生的相互约束的关系。

操作系统第一章复习总结+习题(带讲解)

第一章操作系统概论 操作系统的定义: 1.资源管理的观点:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算 机的工作流程,以及方便用户的程序集合。 2.用户的观点:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一 次扩充。 操作系统形成: 操作系统的发展过程中,多道批处理系统和实时控制系统的出现,标志着操作系统的 正式形成。 操作系统的特征: 并发性、共享性、虚拟性、不确定性 操作系统的功能 进程管理、存储管理、设备管理、文件管理、操作系统接口 操作系统接口分类: 程序接口(为程序员提供)、命令接口(为用户提供) 操作系统类型 基本类型:批处理操作系统、分时操作系统、实时操作系统 新型:微机操作系统、多处理机操作系统、网络操作系统、分布式操作系统、嵌入式 操作系统 多道程序设计技术:为了提高系统吞吐量和资源利用率,允许多个程序同时驻留内存,使处理机在这些程序之间切换,在一段时间内,执行完多个程序的处理技术称为多道 程序设计技术。 批处理操作系统: 用户的作业被成批的输入到计算机中,然后在操作系统的控制下,用户的作业自动地 执行。 单道批处理系统:内存中仅放一道作业、作业的完成顺序与进驻内存的顺序相关 多道批处理系统:内存中存放多道作业、作业的完成顺序与进驻内存的顺序无严格对 应关系。

分时系统:允许多个终端用户同时使用计算机,在这样的紫铜中,用户感觉不到其他用户的存在。特征:多路性、独立性、及时性、交互性、可靠性 实时系统:系统对特定输入做出的反应速度足以控制发出实时信号的对象。“实时”的含义是指计算机对于外来信息能够及时处理,并且能在被控对象允许的范围内做出快速反应。(要求更好的及时性) 实时系统分类:实时控制系统、实时信息控制系统 UNIX是一个多用户、多任务的分时操作系统 (声明:习题参考答案均属个人意见,仅供参考,参考答案设置字体为白色,看时请自行设置为其他颜色。) 习题: 1. 下列选项中,在用户模式下执行的是()。 A 命令解释程序 B 缺页处理程序 C 进程调度程序 D 时钟中断处理程序 参考答案:A 2.用户程序调用操作系统的功能必须使用()。 A调用命令 B系统调用 C作业控制 D控制命令 参考答案:B

操作系统重点知识总结

第一章引论 1、操作系统定义(P1) 操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。 是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户使用的程序的集合。 2、操作系统的作用(P2) 1. OS作为用户与计算机硬件系统之间的接口 2. OS作为计算机系统资源的管理者 3. OS实现了对计算机资源的抽象 3、推动操作系统发展的主要动力(P4) 1.不断提高计算机资源的利用率 2.方便用户 3.器件的不断更新迭代 4.计算机体系结构的不断发展4、多道批处理系统的特征及优缺点(P8) 特征:多道性、无序性、调度性 优点: 1. 资源利用率高 2. 系统吞吐量大 缺点: 1. 平均周转时间长 2. 无交互能力(单道、多道都是) 5、分时系统和实时系统特征的比较(P12) 1. 多路性(实时系统的多路性主要表现在系统周期性地对多路信息的采集、以及对多个对象或多个执行机制进行控制。分时系统中的多路性则和用户有关,时多时少。) 2. 独立性 3. 及时性:(实时系统对及时

性的要求更严格,实时控制系统以控制对象要求的开始截止时间或完成截止时间来确定。) 4. 交互性:实时系统的交互性仅限于访问某些专用服务程序。 5. 可靠性:实时系统对可靠性的要求更高,否则经济损失及后果无法预料。 6、操作系统的基本特征(P14) (并发、共享、虚拟和异步其中并发特征是操作系统最重要的特征是其他特征的前提) 1.并发性 2. 共享性(互斥共享方式、同时访问方式) 3. 虚拟性(时分复用技术(虚拟处理机技术、虚拟设备技术)、空分复用技术(虚拟磁盘技术、虚拟存储器技术)) 4. 异步性(进程的异步性:进程是以人们不可预知的速度向前推进的) 7、操作系统的主要功能(P18) 1. 处理机管理功能(进程控制(1、进程互斥方式:进程或者线程在对临界资源进行访问时,应采取互斥方式;2、进程同步方式:相互合作去完成共同任务的诸进程货线程)、进程通信、调度(作业调度、进程调度)) 2. 存储器管理功能(内存分配、内存保护、地址映射、内存扩充) 3. 设备管理功能(缓冲管理、设备分配、设备处理) 4. 文件管理功能(文件存储空间的管理、目录管理、文件的读/写管理和保护) 5. 用户接口(命令接口(联机用户接口、脱机用户接口)、程序接口、图形接口)

操作系统复习总结

第一章操作系统引论 1. 1 操作系统的目标(了解、知道) a、有效性:提高系统资源的利用率,提高系统的吞吐量。 b、方便性:方便使用计算机系统,避免用户使用机器语言编写程序的繁琐工作。 c、可扩充性:超大规模集成电路(VLSI )技术、计算机技术以及计算机网络发展的 需求,以便于增加新的功能和模块,并能修改老的功能和模块。 d、开放性:遵循世界标准规范,如开放系统互联(OSI )国际标准。 1.2 操作系统的作用(知道) A、它作为用户和计算机硬件之间的接口; a、命令方式; b、系统调用方式; c、图形窗口方式 B、它作为计算机系统资源的管理者: a.处理器管理(分配和控制处理机)b、存储器管理(负责内存的分配与回收) c、I/O设备管理(I/O设备的分配与操纵) d、信息管理(信息的存取、共享和保护)。 C、它实现了对计算机资源的抽象: 铺设在硬件上的多层软件系统,增强了系统的功能,隐藏了硬件操作的具体细节,从而方便用户使用。 1.3 推动操作系统发展的主要动力(知道) A、不断提高计算机资源的利用率:最初的动力——计算机系统的昂贵。 B、方便用户使用:改善用户上机、调试的条件,如图形用户界面的出现。 C、器件的不断更新换代:微电子技术的发展,推动OS的功能和性能迅速增强和提高。 D、计算机体系结构的不断发展: 操作系统:单处理机OS OS OS 人工操作方式;脱机输入/输出方式。脱机的优点:减少CPU的空闲时间;提高了I/O速度。 单道批处理系统主要特征:(知道) (a) 自动性:作业自动逐个依次运行,无需人工干预 (b) 顺序性:先调入内存的作业先完成 (c) 单道性:内存始终仅有一道程序运行 多道批处理系统的好处:(知道) 1、提高CPU的利用率; 2、提高内存和I/O设备利用率; 3、增加系统吞吐量。 多道批处理系统(知道)优点:资源利用率高,系统吞吐量大 缺点:平均周转时间长(排队、调度),无交互能力 多道批处理系统应解决的问题:(知道) 1、处理机的管理问题(分配和回收); 2、内存的的管理问题(分配和保护); 3、I/O设备的管理问题(共享); 4、文件管理问题(程序和数据的组织); 5、作业的管理问题(组织和管理)。 分时系统:(掌握) 定义:在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过终端,以交互的方式使用计算机,共享主机资源。 分时系统特征:(知道) a) 多路性:宏观上多个用户同时工作,微观上每个用户轮流运行一个时间片。 (b) 独立性:每个用户各占一个终端,彼此独立操作。 (c) 及时性:用户请求能在很短时间内获得相应。 (d) 交互性:用户可通过终端与系统进行人机对话。

操作系统重点知识总结

《操作系统》重点知识总结 请注意:考试范围是前6章所有讲授过内容,下面所谓重点只想起到复习引领作用。 第一章引论 1、操作系统定义操作系统是一组控制和管理计算机软件和硬件合理进行作业调度方便 用户管理的程序的集合 2、操作系统的目标有效性、方便性、可扩充性、开放性、 3、推动操作系统发展的主要动力不断提高计算机资源的利用率、方便用户、器件的不 断更新和换代、计算机体系结构的不断发展 4、多道批处理系统的特征及优缺点用户所提交的作业都先存放在外存上并排成一个队 列,称为后备队列。然后作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使他们共享cpu和系统内存。优点:资源利用率高、系统吞吐量打缺点:平均周转时间长、无交互能力 5、操作系统的基本特征并发性(最重要的特征)、共享性、虚拟性、异步性 6、操作系统的主要功能设别管理功能、文件管理功能、存储器管理功能、处理机管理 功能 7、O S的用户接口包括什么?用户接口、程序接口(由一组系统调用组成) 第二章进程管理 1、程序顺序执行时的特征顺序性、封闭性、可再现性 2、程序并发执行的特征间断性、失去封闭性、不可再现性 3、进程及其特征进程是资源调度和分配的基本单位,是能够独立运行的活动实体。 由一组机器指令、数据、堆栈等组成。特征:结构特征、动态性、并发性、独 立性、异步性 4、进程的基本状态及其转换p38 5、引入挂起状态的原因终端用户请求、父进程请求、负荷调节需要、操作系统 的需要 6、具有挂起状态的进程状态及其转换p39 7、进程控制块及其作用进程数据块是一种数据结构,是进程实体的一部分,是操 作系统中最重要的记录型数据结构。作用:使在一个多道程序环境下不能独立运 行的程序成为一个能够独立运行的基本单位,能够与其他进程并发执行 8、进程之间的两种制约关系直接相互制约关系、间接相互制约关系 9、临界资源是指每次只能被一个进程访问的资源 10、临界区是指每次进程中访问临界资源的那段代码 11、同步机构应遵循的规则空闲让进、忙则等待、有限等待、让权等待 12、利用信号量实现前驱关系p55/ppt 13、经典同步算法p58/ppt 14、进程通信的类型共享存储器系统、消息传递系统、管道通信系统 15、线程的定义是一种比进程更小,能够独立运行的基本单位用来提高系统内

计算机操作系统知识点总结重点题型答案

计算机操作系统复习资料 1.操作系统的定义 操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,计算机资源的利用效率更高,上层的应用程序可以获得比硬件提供的功能更多的支持。 操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。 2.操作系统的作用 1)OS作为用户与计算机硬件系统之间的接口 2)OS作为计算机系统资源的管理者 3)OS实现了对计算机资源的抽象 3.操作系统的基本特征 1)并发 2)共享 3)虚拟 4)异步 4.分时系统的概念 把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片,实现多个用户分享同一台主机的操作系统。 5.分时系统要解决的关键问题(2个) 1)及时接收 2)及时处理 6.并发性的概念 并发性是指两个或多个事件在同一事件间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时的交替执行。 7.程序顺序执行的特征和并发执行的特征 顺序执行的特点: 顺序性封闭性可再现性 程序并发执行的特点:

1)、间断性(失去程序的封闭性) 2)、不可再现性 任何并发执行都是不可再现 3)、进程互斥(程序并发执行可以相互制约) 8.进程的定义 进程是指在系统中能独立运行并作为资源分配的基本单位。 为了使参与并发执行的每个程序(含数据)都能独立的运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。 9.进程的组成部分 进程是由一组机器指令,数据和堆栈组成的,是一个能独立运行的活动实体。 由程序段,相关的数据段和PCB三部分便构成了进程实体(又称进程映像)。 10.进程的状态(状态之间的变化) 就绪状态、执行状态、阻塞状态。 处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可以执行,相应的,他就由就绪状态转变为执行状态。 正在执行的进程,如果因为分配给它的时间片已经用完而被暂停执行时,该进程便由执行状态又回到就绪状态;如果因为发生某事件而使进程的执行受阻(如进程请求访问临界资源,而该资源正在被其它进程访问),使之无法继续执行,该进程将有执行状态转变为阻塞状态。处于阻塞状态的进程,在获得了资源后,转变为就绪状态。 11.进程同步的概念 进程同步是是并发执行的诸进程之间能有效地相互合作,从而使程序的执行具有可再现性,简单的说来就是:多个相关进程在执行次序上的协调。 12.PV原语的作用

操作系统复习题集及答案(DOC)

操作系统复习题集 三、简答题 1. 分页存储管理存在的局限性是什么? 逻辑地址空间:页是物理单位,共享困难、不便对代码进行分类管理,不能进行动态连接。 2. 多道程序系统为什么能提高CPU的利用率? 利用了原来CPU空闲等待时间 3. 文件的逻辑结构有哪些? 一种是无结构的流式文件,是指对文件信息不再划分单位,它是依次的一串字符流构成的文件;一种是有结构的记录式文件,是用户把文件的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。所有记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长和不定长记录两类。 4. 什么是设备独立性? 应用程序独立于具体使用的物理设备。设备独立性又称为数据无关性。它指的是应用程序在使用设备进行I/O时,使用的是逻辑设备,而系统在实际执行时使用的是物理设备,由操作系统负责逻辑设备与物理设备的映射。 5. 为什么要引入线程,解释一下线程与进程之间的相互关系。

因为虽然进程可以提高CPU的利用率,但是进程之间的切换是非常耗费资源和时间的,为了能更进一步的提高操作系统的并发进,引进了线程.这样,进程是分配资源的基本单位,而线程则是系统调度的基本单位.一个进程部的线程可以共享该进程的所分配到的资源.线程的创建与撤消,线程之间的切换所占用的资源比进程要少很多.总的来说就是为了更进一步提高系统的并发性,提高CPU的利用率.线程是进程的基础,进程包含多个线程,是线程的载体。 6. 死锁的必要条件是什么? 死锁:当某进程提出资源申请后,使得系统中一些进程处于无休止的阻塞状态,在无外力作用下,永远不能再继续前进。产生死锁的必要条件:互斥条件:某段时间某资源只能由一个进程使用。不剥夺条件:资源在未使用完前,不能被剥夺,由使用进程释放。部分分配(请求和保持):进程因请求资源而阻塞时,对已分配给它的资源保持不放。环路条件:发生死锁时,有向图必构成一环路。 7. 什么是虚拟存? 虚拟存是计算机系统存管理的一种技术。它使得应用程序认为它拥有连续的可用的存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。 8. 假脱机技术是什么?

厦门理工操作系统期末复习总结

第一章 1.软件部分大致分为:系统软件和应用软 件两类,系统软件是用来管理计算机本 身及应用软;应用软件用来完成用户所 要求的时间任务。 2.多道批处理系统的特征: 1)多道性2)无序性3)调度性 3.多道批处理系统的优缺点: 1资源利用率高2系统吞吐量大 缺点: 1平均周转时间长2无交互能力 4.分时系统的特性: 1多路性2独立性3及时性4交互性 5.操作系统的特征: 1并发2共享3虚拟4异步性 6.操作系统的功能: 1用户接口2处理机管理3存储管理 4设备管理5文件管理 第二章 1.系统调用概述:系统调用是应用程序请 求操作系统内核完成某功能时的一种过 程调用,但它是一种特殊的过程调用, 与一般过程的调用有如下的方面的明显 差别 1).运行在不同的系统状态。 在一般的过程调用中,调用程 序和被调用程序都运行在相 同的状态:核心态或用户态。 系统调用与一般调用的最大 区别就在于:调用程序(用户 程序)运行在用户态,而被调 用程序运行在核心态。 2)通过软中断进入。第三章 1.程序顺序执行时具有3个基本特征: 1顺序性2封闭性3可再现性 2.程序并发执行时具有3个特征: 1间断性2失去封闭性3不可再现性 3.进程的定义: 1进程是程序的一次执行 2进程是可以和别的计算并发执行的计 算 3进程可定义为一个数据结构以及能在 其上执行的一个程序 4进程是一个程序及其数据在处理机上 顺序执行时所发生的活动 5进程是一个程序在数据集上运行的过 程,它是系统进行资源分配和调度的一 个独立单位 国内对进程的定义:进程是程序的 运行过程,是系统进行资源分配和调 度的一个独立单位。 4.进程的特征: 1动态性2并发性3独立性 4异步性5结构特征 5.什么是进程控制块? 进程控制块(PCB)作为进程实体的一个重要组成部分,包含了进程的所有描 述信息和管理控制信息,是系统对进程 实施管理的唯一依据和系统能够感知到 进程存在的唯一标识。进程控制块与进 程之间存在一一对应关系。 进程控制块的数据结构通常是一个记录,包含的主要内容由以下4部分组成: 1进程描述信息2进程调度信息 3进程上下文4进程控制信息 6.进程的基本状态 1就绪状态2执行状态3阻塞状态 7.进程基本状态的转换

计算机操作系统复习总结-汤子瀛知识讲解

计算机操作系统复习总结-汤子瀛

操作系统的定义:操作系统是以一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。 1.1.1操作系统的目标:1.方便性 2.有效性 3.可扩充性 4.开放性 2.1.2 操作系统的作用: 1.os作为用户与计算机硬件系统之间的接口 2.os作为计算机系统资源的管理者 3.os用作扩充机器 1.1.3 推动操作系统发展的主要动力: 1.不断提高计算机资源利用率 2.方便用户 3.器件的不断更新换代 4.计算机体系结构的不断发展 1.2操作系统的发展过程: 1.2.1无操作系统的计算机系统:1.人工操作方式 2.脱机输入输出(Off-Line I/O)方式 1.2.2单道批处理系统(特征:自动性;顺序性;单道性) 1.2.3多道批处理系统: 1.多道程序设计的基本概念: (1)提高CPU的利用率)(2)可提高内存和I/O设备利用率(3)增加系统吞吐量 2.多道批处理系统的特征:(1)多道性(2)无序性(3)调度性 3.多道批处理系统的优缺点: (1)资源利用率高(2)系统吞吐量大(3)平均周转时间长(4)无交互能力 4.多道批处理系统需要解决的问题: (1)处理机管理问题(2)内存管理问题(3)I/O设备管理问题(4)文件管理问题 (5)作业管理问题 1.2.4分时系统: 分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。 1.分时系统的产生:推动分时系统形成和发展的主要动力,是用户的需求(需要的具体表现:人-机 交互、共享主机、便于用户上机) 2.分时系统实现中的关键问题:(1)及时接收(2)及时处理 3.分时系统的特征:(1)多路性(2)独立性(3)及时性(4)交互性 1.2.5实时系统:

linux期末考试总结

1.什么是操作系统?它的基本功能是什么:操作系统是控制其他程序运行管理系统资源并为用户提供操 作系统界面的系统软件的集合;功能:1.处理机管理、内存管理、设备管理、文件管理 2.操作系统在系统中处于什么地位:操作系统是计算机系统中最基本的软件,操作系统在计算机系统中 起着支撑应用程序运行及用户操作环境的作用,它是计算机的核心与基石,而其他所有软件都要依赖操作系统才能运行 3.从用户角度分,分时系统与多道批处理相比有哪些优点 多路性、独立性、及时性、交互性 4linux基本系统由哪几部分组成?linux内核的功能是什么 有shell 内核文件系统 功能:运行程序,管理基本的硬件设备 5什么是进程?为什么要引入进程概念 进程是一个可并发执行的程序在某数据集上的一次运行 为了更好的研究、描述和控制并发程序的执行过程,操作系统引入了进程的概念 6进程的基本特征是什么?它与程序的主要区别是? 动态性、并发性、独立性、异步性 区别:程序是进程的另一个组成部分,是进程的执行文本、程序是静态的指令集合,进程是动动态的过程实体 7简述进程的基本状态以及进程状态的转换 就绪态、运行态、等待态 8进程控制块的作用是什么?他通常包括哪些内容 进程程序卡尺系统为管理进程设置的一个数据结构,用于记录进程的相关信息 包含内容:进程的描述信息、进程的控制和调度信息、资源信息、现场信息 9什么是临界资源?什么时候临界区?什么是互斥和同步 临界资源是一次仅允许一个进程使用的资源;临界区是程序访问临界资源的程序片段 进程的互斥是禁止多个进程同时进入各自的访问统一临界资源的临界区以保证对临界资源的排他性使用;进程的同步是指进程间为合作完成一个任务而互相等待、协调运行步调 10什么是死锁,产生死锁的原因和必要条件是什么 死锁是系统中若干个进程相互无知的等待对方所占有的资源而无限的处于等待状态的一种僵持局面原因:系统资源有限,而多个并发进程因竞争资源而相互制约 必要条件:1.资源的独立占用2资源的非抢占式分配3对资源的保持和请求4对资源的循环等待 11进程调度的功能是什么;linux采用了那种进程调度策略 进程调度的功能是按照一定的策略把cpu分配给就绪进程,使他们轮流使用cpu运行 策略:先进先出法、时间片轮法、普通调度法 12进程调度的算法有哪些 先进先出法、短进程优先法、优先级调度法 13信号量的含义 信号量是一个整形变量s,它为某个临界资源而设置,表示该资源的可用

操作系统第四版期末复习重点

第一章操作系统 ▲问:操作系统 答:操作系统是一组能有效组织和管理计算机软硬件资源、合理调度作业、方便用户使用的程序的集合,是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。 ▲主要作用作为用户与计算机硬件系统的接口;作为计算机系统资源的管理者:实现对计算机资源的抽象 ▲主要目标方便性、有效性、可扩展性和开放性。(使用编译指令或OS提供的命令操纵系统)(提高系统的吞吐量、系统资源利用率)(可添加或修改功能、模块)(能遵循世界标准规,兼容性强) ▲主要发展动力不断提高计算机利用率、方便用户、器件的不断更新换代、计算机体系结构的不断发展。 主要/基本功能处理机管理、存储器管理、设备管理、文件管理 基本特征并发、共享、虚拟、异步。 ▲问:并发性与并行性 答:并发性是指多个事件在同一时间间隔发生;并行性是指多个事件在同一时刻发生。 ▲问:共享(资源复用) 答:指系统中的资源可供存中的多个并发执行的进程共同使用。 互斥共享方式在一段时间只允许一个进程访问资源; 同时访问方式允许多个进程在一段时间“同时”访问资源,“同时”指的是宏观意义,在微观上是交替访问的 ▲问:虚拟 答:把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。 时分复用技术利用某设备为一用户服务的空闲时间,转去为其他用户服务,使设备得到最充分的利用。(虚拟处理机、虚拟设备。虚拟为n个,平均速度≤1/n) 空分复用技术利用存储器的空闲时间分区域存放和运行其他的多道程序,以此提高存的利用率。(虚拟后,平均存≤1/n) ▲问:异步性 答:指进程以人们不可预知的速度向前推进。 ▲问:单道批处理系统 答:将一批作业以脱机方式(使用外围机,脱离主机)输入在磁带上,使作业在监督程序的控制下一个个连续处理。 目的提高系统资源利用率和系统吞吐量。 缺点存中只有一道程序,系统资源浪费。 特性单道性、顺序性、自动性。 ▲问:多道批处理系统 答:将作业输入在外存,排成后备队列,并在由于某程序I/O操作而暂停执行时的CPU空闲时间,按照一

操作系统复习题选择和填空 带答案

精品文档 第一章绪论复习题 1、操作系统有多种类型,允许多个用户将若干个作业提交给计算机集中处理的 操作系统,称为__A___。 A.批处理操作系统 B.分时操作系统 C.实时操作系统 D.多处理机操作系统 2、????C?????操作系统允许用户把若干个作业提交给计算机系统。 A、单用户 B、分布式 C、批处理 D、监督 3、以下4个特征中,????C???不是分时OS的特征。 A、多路性 B、交互性 C、及时响应性 D、批量性 4、操作系统有多种类型,允许多个用户以交互方式使用计算机的操作系统,称 为______B_。 A.批处理操作系统 B.分时操作系统 C.实时操作系统 D.多处理机操作系统 5、一个完整的计算机系统是由___C _组成的。 A、硬件 B.软件 C. 硬件和软件 D.用户程序 6、操作系统是一种____B__,它负责为用户和用户程序完成所有与硬件相关并与应用无关的工作。 A.应用软件 B.系统软件 C.通用软件 D.软件包 7、把处理机的时间分成很短的时间片(如几百毫秒),并把这些时间片轮流地分配给各联机作业使用的技术称为_________A_。 A. 分时技术 B. 实时技术 C. 批处理技术 D. 多道程序设计技术 8、实时操作系统追求的目标是 C 。 A.高吞吐率 B.充分利用内存 C.快速响应 D.减少系统开销 9、分时操作系统通常采用???????B?????策略为用户服务。 A、可靠性和灵活性 B、时间片轮转 C、时间片加权分配 D、短作业优先 10、操作系统是对?????C??????进行管理的软件。 A、软件 B、硬件 C、计算机资源 D、应用程序 11、现代操作系统的主要目标是___提高资源利用率和___方便用户_ 。 12、操作系统的基本类型主要有___分时系统(或分时操作系统)、实时系统(或实时操作系统)和_批处理系统(或批处理操作系统)。 13、操作系统五个功能是:处理机管理、存储器管理、设备管理、以及文件管理和为用户提供操作接口。 14、操作系统的基本特征是___并发____,__共享___,___虚拟___ 和__异步___。 15、操作系统一般为用户提供了三种界面,它们是______命令界面____,__图形界面___和___系统调用界面__。 第二章进程管理复习题 1、并发性是指若干事件在 B 发生。 A.同一时刻 B.同一时间间隔内 C.不同时刻 D.不同时间间隔内 2、进程和程序的本质区别是 D 。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 3、进程从运行状态进入就绪状态的原因可能是 D 。 A.被选中占有处理机 B.等待某一事件 C.等待的事件已发生 D.时间片用完

操作系统各章重点总结。

第一章 概述 1.操作系统的定义:是一个大型的程序系统,它负责计算机的全部软硬件资源的分配,调度工作,控制并协调并发活动,实现信息的存取及保护,它提供用户接口,使用户获得更好的工作环境,操作系统使整个计算机实现了高效率及高度自动化。操作系统属于应用软件。 2.操作系统的基本功能 (1)人-机交互界面:用户可直接使用键盘命令或Shell 命令语言,调用操作系统内部功能模块(系统调用) (2)资源管理:文件管理、存储管理、设备管理、处理器管理、作业管理 3.操作系统的分类 (1)单用户操作系统:一个用户独占计算机系统资源,系统所有软硬件资源全为一个用户服务,单独地执行该用户提交的一个任务; 优点:操作系统简单,易被人们掌握; 缺点:系统资源未能充分利用; (2)批处理操作系统:采用批量化处理作业技术的操作系统 a.单道批处理系统 b.多道批处理系统 二者区别: (3)实时操作系统:对随机发生的外部事件能做出及时的响应并对其进行处理 的操作系统 特点:a.较少有人为干预的监督和控制系统; b.软件依赖于应用的性质和实际使用的计算机类型; c.专用系统:许多实时系统是专用系统。 d.实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应, 具有较强的中断处理机构。 e.高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。 f.事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。 g.可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。 应用:监督生产线,流水线生产的连续过程,监督病人的临界功能,监督和控制交通灯系统,监督和控制实验室的实验,监督军用飞机的状态等; (4)分时操作系统:多个用户分享使用同一台计算机,把计算机的系统资源进 单道 多道 内存使用 每次一个作业 每次多个作业(充分利用内存) 作业次序 顺序,先进先出 无确定次序 共同特征 用户与他的作业之间没有交互作用,不能直接控制其作业的运行; 作业成批处理;多道程序执行自动化,充分利用系统资源。

操作系统 期末考试复习总结

Ch1 1. 操作系统的定义(填空题、选择题、简答题) 操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。操作系统是控制和管理计算机硬件和软件资源,合理的组织计算机的工作流程,以及方便用户的程序集合。 2. 从资源管理的角度看,操作系统的主要功能。(填空题) 处理机管理:用于分配和控制处理机 存储器管理:主要负责内存的分配和回收 i/o设备管理:负责i/o设备的分配和操纵 文件管理:负责文件的存取,共享和保护 3. 理解操作系统的主要特性:并发性、共享性和异步性。(选择 题) 并发性:是指两个或两个以上的事件或活动在同一时间间隔内发生。 共享性:指系统中的资源可供内存中多个并发执行的进程共同使用,而不是被一个进程所独占,相应的,把这种资源共同使用称为资源共享,或资源复用。 异步性:在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”的方式运行。 虚拟技术:指通过某种技术把一个物理实体变为若干个逻辑上的对应物。时分复用技术,空分复用技术。 4. 理解操作系统的基本类型:批处理操作系统、分时操作系统和 实时操作系统。(选择题) 单道批处理系统:自动性,顺序性,单道性。 多道批处理系统:可以进一步提高资源的利用率和系统吞吐量。优点:资源利用率高、系统吞吐量大;缺点:平均周转时间长、无交互能力。好处:1.提高CPU的利用率2.提高内存和i/o设备利用率3.增加系统吞吐量。 分时操作系统:能很好的将一台计算机提供给多个用户同时使用,提高计算机的利用率。它被经常应用于查询系统,满足许多查询用户的需要。 实时操作系统:指系统能及时响应外部事件的请求,在规定事件内完成对事件的处理,并控制所有实时任务协调一致的运行。 5. 用户与操作系统之间的接口:系统调用和操作命令。(填空 题) 用户接口:它是提供给用户使用的接口,用户可通过该接口取得操作系

操作系统期末复习重点概念总结

操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要的作用是管理好这些设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。单批道处理系统工作方式:首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给作业,当作业处理完成后,把控制权交还给监督程序,再由监督程序将磁带上的第二个程序调入内存,直到磁带上的作业全部完成。微内核OS工作方式:在单机微内核操作系统中都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现,它们都是被作为进程来实现的,运行在用户态,客户和服务器之间借助微内核提供的消息传递机制来实现信息交互的。微内核基本功能:进程管理、低级存储器管理、中断和陷入处理。进程:是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。进程控制块(PCB)的作用:作为独立运行基本单位的标志、能实现间断性运行方式、提供进程管理所需要的信息、提供进程调度所需要的信息、实现与其他进程的同步与通信。产生死锁原因:竞争不可抢占性资源、竞争可消耗性资源、进程推进顺序不当。死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。动态重定位:地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称为动态重定位。分页和分段主要区别:页是信息的物理单位、对用户是不可见的。段是信息的逻辑单位,能更好的满足用户需求。页的大小固定且由系统决定,而段的长度却不固定,决定于用户所编写的程序。分页的用户程序地址空间是一维的,分页是系统的行为,而分段是用户的行为,用户程序的地址空间是二维的。虚拟存储器:具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。地址变换过程:在进行地址变换时,首先检索快表,试图从中找出所要访问的页。若找到,便修改页表项中的访问位,供置换算法选换出页面时参考对于写指令,还需将修改位设置为“1”,表示该页在调入内存后已经修改。然后利用页表项中给出的物理块号和页内地址形成物理地址。地址变换过程到此结束。如果在快表中未找到该页的页表项,则应到内存中查找页表,再从找到的页表项中的状态位P来了解该页是否已调入内存。若该页已调入内存,这时应将该页的页表项写入快表。当快表已满时,应先调出按某种算法所确定的页的页表项,然后再写入该页的页表项,若该页未调入内存,这时产生缺页中断,请求OS从外存把该页调入内存。产生抖动的原因:同时在系统中运行的进程太多,分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每一个进程都在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存使得在系统中排队等待页面调入调出的进程数目增加。对磁盘的有效访问时间增加,造成每个进程的大部分时间都用于页面的换进换出,而几乎不能再去做任何有效的工作,导致处理机的利用率急剧下降并趋于0。DMA控制器组成:主机与DMA控制器的接口、DMA控制器与块设备的接口、I/O控制逻辑。假脱机系统:即同时联机外围操作,又撑脱机操作,在多道程序环境下,可利用多道程序中的一道程序,来模拟脱机的输入输出功能。计在联机条件下,将数据从输入设备传送到磁盘,或从磁盘传到输出设备。缓冲区的主要作用是弥补速度差:缓和CPU 与I/O设备间速度不匹配的矛盾、减少对CPU的中断频率,放宽对CPU中断响应时间的限制、解决数据粒度不匹配的问题、提高CPU和I/O设备之间的并行性。磁盘调度算法:先来先服务,最短寻到时间优先:最近的从大到小再从大到小。扫描算法:最近的从小到大再从大到小。循环扫描算法:最近从小到大再从小到大。文件:文件是指由创建者所定义的、具有文件名的一组相关元素的集合。文件打开操作:系统将指明文件的属性,从外存拷贝到内存文件表的一个表目中,并将该表目的编号返回给用户。换言之,打开就是在用户和指定文件之间建立一个连接。此后,用户可通过该连接直接得到文件信息,从而避免了再次通过目录检索文件,即当用户再次向系统发出文件请求时,系统根据用户提供的索引号可以直接在打开文件表中查找到文件信息。利用“关闭”系统调用来关闭此文件,断开连接,OS会

操作系统原理重点知识点

精品文档注意:大题必看否则很难及格! 操作系统是配置在计算机硬件上带第一层软件,是对硬件系统的首什么是操作系统:1、次扩充。作为计算机系统资OSOS作为用户与计算机硬件系统之间带接口、操作系统的作用:2、实现啦对计算机资源带抽象源带管理者、OS 有效性、方便性、可扩充性、开放性3、操作系统的目标:并发性虚拟性异步性)其中最重要的特征是共享性4、操作系统基本特征(并 发性 用户接口设备管理文件管理5、操作系统带主要功能:处理机管理存储器管理 完成)(I/O---阻塞---请求)---(进程调度)---执行---(I/O6、进程的三种基本状态:就绪P38页)(执行---(时间片用完)---就绪---就绪 异步性独立性并发性7、进程的特征:动态性 成批处理多道8、批处理系统带特征:脱机交互性及时性9、分时系统带特征:多路性独立性。方式、通道方式控制方式有:程序直接控制方式、中断控制方式、DMA10、常用I/O CPU 减少对设备间速度不匹配的矛盾。(2) CPU、为什么要引入缓冲区?(1)缓和与I/O11设备之间 的并行性和I/OCPU中断响应时间的限制。(3) 提高CPU的中断频率,放宽对系统由哪几部分组成?以打印机为例说明如何利用该技术实现多个进程对打SPOOLing12、印机的共享?输入进 程和输出进程输入缓冲区和输出缓冲区组成:输人井和输出井 对所有提出输出请求的用户进程,系统接受它们的请求时,并不真正把打印机分配给它们,而是由输出进程在输出井中为它申请一空闲缓冲区,并将要打印的数据卷入其中,输出进程再为用户进程申请一张空白的用户打印请求表,并将用户的打印请求填入表中,再将该表挂到打印机队列上。 这时,用户进程觉得它的打印过程已经完成,而不必等待真正的慢速的打印过程的完成。当打印机空闲时,输出进程将从请求队列队首取出一张打印请求表,根据表中的要求将要打印的数据从输出井传到内存输出缓冲区,再由打印机进行输出打印。打印完后,再处理打印队列中的一个打印请求表,实现了对打印机的共享。 13、什么是死锁?产生死锁的必要条件有哪些?处理死锁的方法? 所谓死锁是指多个进程在运行过程中因争夺资源而造成带一种僵局,当进程处于这种僵持状态时,若无外力作用,他们都将无法再向前推进。必要条件:互斥条件请求和保持条件不剥夺条件环路等待条件处理方法:预防死锁避免死锁检验死锁解除死锁 以上为简答题可能出带部分以下全为计算题做题时照猫画虎就差不多计算过程比较简单 有不懂得同学赶快在考试之前问一下懂的同学保证你考试能打60分以上。呵呵 应用题 1、调度算法(FCFS/SPF 高度优先权时间片轮转) 有5个进程P1、P2、P3、P4、P5,它们的创建时刻、运行时间和优先数见下表。规定进程的优 先数越小其优先级越高。试描述在采用下述调度算法时,各进程的运行过程,并计算平均周转时间(假设忽略进程的调度时间,时间单位为ms)。 (1)先来先服务算法。(2)剥夺式优先级调度算法。(此问可去掉。增加非剥夺式)

相关主题
文本预览
相关文档 最新文档