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

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

1

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

movax,cs

movds,ax

moves,ax

callDispStr

jmp $

DispStr:

movax,BootMessage

movbp,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

dw0xaa55

这是第一章的程序,从中可以看出起始位置是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:保护模式),准备切换到保护模式,跳转到保护模式中jmpdword 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.分页的目的

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

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

用代码启动分页机制

代码

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

PageTblBaseequ 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 。。。

SelectorPageDirequ L ABEL_DESC_PAGE_DIR - LABEL_GDT

SelectorPageTblequ LABEL_DESC_PAGE_TBL - LABEL_GDT

。。。

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

SetupPaging:

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

; 首先初始化页目录

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

moves, ax

movecx, 1024 ; 共1K 个表项

xoredi, edi

xoreax, eax

moveax, PageTblBase | PG_P | PG_USU | PG_RWW

.1:

stosd

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

loop .1

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

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

moves, ax

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

xoredi, edi

xoreax, eax

moveax, PG_P | PG_USU | PG_RWW

.2:

stosd

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

loop .2

moveax, PageDirBase

mov cr3, eax

moveax, cr0

oreax, 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 256db 0 ;内存缓冲区

。。。

; 得到内存数

movebx, 0

mov di, _MemChkBuf

.loop:

moveax, 0E820h

movecx, 20

movedx, 0534D4150h

int 15h

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

add di, 20

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

jne .loop

jmp LABEL_MEM_CHK_OK

LABEL_MEM_CHK_FAIL:

movdword [_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)显示内存信息并且启动分页机制pushszMemChkTitle

callDispStr

add esp,4

callDispMemInfo

callSetupPaging

重新放置内核

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_CSequ 8

; 导入函数

externcstart

; 导入全局变量

externgdt_ptr

[SECTION .bss]

StackSpaceresb 2 * 1024

StackTop: ; 栈顶

[section .text] ; 代码在此

; 把esp从LOADER 挪到KERNEL

movesp, StackTop ; 堆栈在bss段中

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

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

lgdt [gdt_ptr] ; 使用新的GDT

;lidt [idt_ptr]

jmpSELECTOR_KERNEL_CS:csinit

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

push 0

popfd ; Pop top of stack into EFLAGS

hlt

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

最新西南交大铁道工程毕业总结

西南交大铁道工程毕业总结 篇一:西南交大铁道工程毕业总结 篇一:西南交大峨眉校区铁道工程生产实习总结 目录 1、预应力梁的制作以及安装............................................................... .............. (3) 预应力梁的基本参数............................................................... .............. (3) 箱梁的制作过程主要............................................................... .............. (3)

预应力梁的吊装............................................................... .............. (5) 架桥机的施工流程............................................................... .............. (6) 2.抗滑桩............................................................... .............. (7) 抗滑桩定义............................................................... .............. (8) 抗滑桩的施工............................................................... .............. (8) 抗滑桩的锚固深度...............................................................

计算机操作系统3套期末考试题及答案

计算机专业计算机操作系统试题 2003年7月 一、选择题(选择一个正确的答案的代号填入括号中,共38分) 1.操作系统核心部分的主要特点是( )。 A.一个程序模块B.主机不断电时常驻内存 C.有头有尾的程序D.串行顺序执行 2.操作系统中用得最多的数据结构是( )。 A.堆栈B.队列 C.表格D.树 3. 索引式(随机)文件组织的一个主要优点是( )o A.不需要链接指针B.能实现物理块的动态分配 C.回收实现比较简单D.用户存取方便 4.文件目录的主要作用是( )。 A.按名存取B.提高速度 C.节省空间D.提高外存利用率 5.在操作系统管理中,面向用户的管理组织机构称为( )。 A.用户结构B.实际结构 C.物理结构D.逻辑结构 6.单机操作系统的共享资源主要是指( )。 A.内存、CPU和基本软件B.键盘、鼠标、显示器 C.打印机、扫描仪D.软盘、硬盘、光盘 7.为方便用户,操作系统负责管理和控制计算机系统的( )。 A.软件资源B.硬件和软件资源 C.用户有用资源D.硬件资源 8.设备I/O方式有如下三种:( )、( )和( )。 A.假脱机B.询问 C.联机D.中断 E.通道F.脱机 9.操作系统五大功能中作业管理包含( )和( );文件管理又称( );存储管理主要讲解( );设备管理是最原始的( );进程管理实质上是( )。 A.CPU的执行调度管理B.用户任务管理 C. 信息管理D.监控程序管理 E.人机交互界面管理F.内存管理 10.计算机在接受用户请求后处理数据以及在数据处理结束时,将结果送到终端显示器。例如,导弹控制系统应选择安装( );计算机订票系统应选择安装( );计算机语言学习系统应选择安装( )。A.批处理操作系统B.分时操作系统 C.实时操作系统D.网络操作系统 E.分布式操作系统 二、是非题(正确的划√,错的划×,其它符号按错论。共20分) ( )1.系统调用是操作系统和用户进程的接口,库函数也是操作系统和用户的接口。 ( )2.UNIX的i节点(内码)是文件系统的主要数据结构(表格)部分。 ( )3.虚地址即程序执行时所要访问的内存地址。

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

第一章操作系统引论 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、铁路是国家重要的基础设施,大众化的交通工具,在综合交通体系中占有重要地位,由如今铁路和经济相辅相成的飞速发展可以看出铁路为经济和社会的全面、协调和可持续性发展发挥着更加有效的促进作用。近来中国铁路飞速发展让得到了世界瞩目,尤其是高铁技术的发展和运用得到了不少好评和订单,20世纪90年代以来,中国开始对高速铁路的设计建造技术、高速列车、运营管理的基础理论和关键技术组织开展了大量的科学研究和技术攻关,并进行了广深铁路提速改造,修建了秦沈客运专线,实施了既有线铁路六次大提速等。2002年12月建成的秦皇岛至沈阳间的客运专线,是中国自己研究、设计、施工、目标速度200公里/小时,基础设施预留250公里/小时高速列车条件的第一条铁路客运专线。自主研制的“中华之星”电动车组在秦沈客运专线创造了当时“中国铁路第一速”—321.5公里/小时。经过这十多年不懈努力,我国铁路通过技术创新,在高速铁路的工务工程、高速列车、通信信号、牵引供电、运营管理、安全监控、系统集成等技术领域,取得了一系列重大成果,形成了具有中国特色的高铁技术体

北京大学操作系统期末试题有答案

操作系统原理试题 一. 名词解释题 1. 中断—— 2. 进程控制块(PCB)――它是进程实体的一部分,是操作系统最重要的记录型数据结构, 是进程存在的唯一标识 3. 虚时钟 4. 段式管理 5. 文件控制块(FCB) 6. 对换(SWAPPING) 7. 系统调用 8. 绝对路径名 9. 特别文件 10.虚设备技术 11.管道 12.中断接收 13.恢复现场 14.页式管理 15.作业步 16.字符流文件 17.通道 18.页面淘汰 19.多道程序设计 20.死锁 21.当前目录 22.快表 23.作业调度 24.原语 25.中断屏蔽 26.地址映射 27.文件目录 28.死锁避免 29.原语 31. CPU 状态 32.虚存

二 . 填空题 1. 分时系统追求的目标是 __及时响应 ___. 2. 用户进程从目态 (常态)转换为管态 (特态)的唯一途径是 ___ 中断 ________ . 3. 从静态的观点看 , 操作系统中的进程是由程序段、数据和 __ 作业控制块 PCB__ 三 部分组成 . 4. 在系统内核中必须包括的处理模块有进程调度、原语管理和 __中断处理 __. 5. 批处理操作系统中 , 作业存在的唯一标志是 _作业控制块 PCB ___. 6. 操作系统中的一种同步机制 , 由共享资源的数据及其在该数据上的一组操作组成 , 该同步机制称为 _管程 ______________ . 7. 在可变分区存储管理中 , 为实现地址映射 , 一般由硬件提供两个寄存器 , 一个是基 址寄存器 , 另一个是 _限长寄存器 ___. 8. 联想寄存器 (相联存储器 ) 的最重要、最独到的特点是 _按内容并行查找 ___. 9. 在虚拟段式存储管理中 , 若逻辑地址的段内地址大于段表中该段的段长 , 则发生 __ 地址越界 __中断 . 10. 文件系统中若文件的物理结构采用顺序结构 , 则文件控制快 FCB 中关于文件的物 理位置应包括 ___ 首块地址和文件长度 _. 11. 在操作系统设计时确定资源分配算法 , 以消除发生死锁的任何可能性 , 这种解决死 锁的方法是 __死锁预防 __. 12. 选择对资源需求不同的作业进行合理搭配 , 并投入运行是由 _作业调度算法 ___来完 成的. 13. 实时系统应具有两个基本特征 : 及时性和 ___可靠性 ___. 14. 磁带上的文件只能采用 _顺序 ______ 存取方式 . 15. 不让死锁发生的策略可以分成静态和动态的两种 , 死锁避免属于 __动态的 ___. 16. 在 UNIX 系统中 , 文件分成三类 , 即普通文件 , 目录文件和 ___特殊文件 __. 17. 在磁盘调度策略中有可能使 I/O 请求无限期等待的调度算法是 __最短寻道时间优先 18. 进程获得了除CPU 外的所有资源,一旦获得CPU 即可执行,这时进程处于—就绪 _ 状态 . 19. ______________________________________________________ 为实现CPU 与外部设备的并行工作,系统必须引入一通道 ____________________________________ 硬件基础. 20. 操作系统为保证不经文件拥有者授权 , 任何其它用户不能使用该文件所提出的解决 措施是 ___文件保密 __. 21. 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态 , 这就称为 __ 并发 ___. 33. 磁盘调度 34. 缓冲技术 36. 进程调度 37. 虚设备 39. 死锁预防 40. 临界资源 — 42. 交换技术 43. 互斥区 段时间内只允许一个进程访问的资源,也称为独立资源

操作系统重点知识总结

第一章引论 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. 用户接口(命令接口(联机用户接口、脱机用户接口)、程序接口、图形接口)

网络教育毕业总结报告

篇一:西南交通大学网络教育专科总结报告 西南交通大学网络教育专科 总结报告 学习中心绵阳职业技术学院 专业道路桥梁工程技术学号 11930072 姓名谢志福 西南交通大学网络教育学院制 二〇一三年十一月九日填写篇二:网络教育毕业自我鉴定(大全) 1、 两年的网络学习和社会实践是我不断的挑战自我、充实自己的一个过程。本人在思想认识、业务知识和专业技能方面都有了很大的提高。对自已两年来的学习和生活作一个评定。一、思想政治方面,本人注重政治理论学习,能自觉与党中央保持高度一致;尊重领导,团结同志,热爱本职,作风严谨,为人正派。平时关心国家大事,总是尽力去做有益于国家、社会的事。努力做一名优秀的共产党员。 二、学习方面, 本人能按照学校的有关规定,利用业余时间自学各门课程,积极参加集中面授和串讲,按时完成各项作业。通过两年学习,现已认真完成了各门课程的学习,掌握了所学知识,并通过了所学课程考核。 三、业务方面,为适应社会发展的需求,我认真学习专业知识,对本专业一丝不苟。除了理论学习之外,还把学到的理论知识用到我现在的工作中来,我的实践能力也得到非常大的提高。 通过两年的学习,自身得到了一个很好的锻炼和提高,在今后的工作中我还要继续努力,不断提高和完善自己。面对现在,我努力拼搏;面对将来,我期待更多的挑战。战胜困难,抓住每一个机遇,相信自己一定会演绎出精彩的一幕。 2、 自我鉴定: 本人热爱祖国,热爱人民,拥护中国共产党的领导,能自觉学习马克思列宁主义、毛泽东思想、邓小平理论和“三个代表”重要思想,深入贯彻落实科学发展观。及时了解和关心党和国家的方针、政策和路线,自觉遵守国家法律法规和社会道德行为规范。 2003年7月,我于计算机应用专业大专毕业,在多年的技术工作之后,感觉自己在技术以外的管理知识水平成为我职业发展的瓶颈。面对这种情况,我于是选择了继续学习和进修。但是由于工作性质的关系,不能脱离工作岗位,只能边工作边学习。针对这个问题,2008 年秋季,我怀着强烈的求知欲和进取心报读了厦门大学继续教育与职业教育学院项目管理专业(专升本),通过二年半的学习,现已修完全部专业课程,即将毕业。 在学习过程中,以自学为主,充分利用现代网络技术,通过网络课程点播和网络教学平台互动学习。二年半的学习时间不长,平时工作也相对繁重,面对诸多困难,本人充分利用工作业余时间,通过观看网络视频课程和利用网上教学平台向指导教师请教学业疑难问题并进行自主学习。在这期间,本人下功夫认真学习项目管理专业开设的所有必修课程,对专业知识理论有了系统的了解和把握,并结合自己的实际工作,把所学的项目管理知识应用到我的工作当中,加深了对项目管理知识的理解和应用能力,弥补了工作当中对管理知识的欠缺,为以后的工作和职业的发展和提升奠定了知识基础。 毕业在即,回首二年半的继续教育的学习和工作生活,我一直都孜孜不倦,不断地挑战自我,实自己,为实现人生的价值打下了坚实的基础。在此,我要感谢学院老师这两年半来为我们所付出的艰辛劳动,向他们表示深深的谢意和崇高的敬意!

计算机操作系统期末试题及答案西南大学原题

操作系统期末试题 一、单项选择题(本大题共20小题,每小题1分, 共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在配置多道批处理操作系统的计算机系统中(D) A.用户可联机、调试自己的程序B.允许用户直接干预作业的执行 C.能对外部事件实时响应D.允许多个作业同时使用不同的外围设备 2.UNIX操作系统是一个(A) A.交互式分时操作系统B.多道批处理操作系统C.实时操作系统D.分布式操作系统 3.若操作系统管理的某用户程序当前正占有中央处理器,该用户程序欲读磁盘上的文件信息,那么用户程序中相应的指令应该是(D) 1 全国2010年4月自学考试操作系统概论试题

A.启动I/O指令B.等待I/O指令 C.转移指令D.访管指令 4.当一次系统调用功能完成后,中央处理器的工作状态应(C) A.保持管态B.保持目态 C.从管态转换成目态D.从目态转换成管态5.分布式操作系统的特点是(C) A.资源共享B.资源地理位置分散C.资源位置透明D.多个用户的程序并行运行 6.引入进程的原因是(B) A.提高资源的利用率和控制程序的执行 B.提高资源的利用率和正确描述程序的执行情况C.提高程序的执行速度和控制程序的执行 D.提高程序的执行速度和正确描述程序的执行情况7.进程有三种基本状态,可能的状态转换是(A) A.就绪态到运行态、等待态到就绪态、运行态到等待态 B.就绪态到运行态、就绪态到等待态、等待态到运 2 全国2010年4月自学考试操作系统概论试题

全国2010年4月自学考试操作系统概论试题 3 行态 C .就绪态到运行态、等待态到就绪态、等待态到运行态 D .运行态到就绪态、就绪态到等待态、等待态到运行态 8.处理器不能.. 直接访问的存储器是( D ) A .寄存器 B .高速缓冲存储器 C .主存储器 D .辅助存储器 9.断电停机后,存储信息随之消失的存储器是( C ) A .磁盘 B .磁带 C .主存储器 D .U 盘 10.处于运行状态的操作系统程序应放在( C ) A .寄存器中 B .高速缓冲存储器中 C .主存储器中 D .辅助存储器中 11.对操作系统的文件系统而言,一个源程序、一批 数据、一篇文章或一张图片等都可以被称为文件,只要它是( C ) A .连续分布在一片磁盘区域中的信息集合

操作系统重点知识总结

《操作系统》重点知识总结 请注意:考试范围是前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.软件部分大致分为:系统软件和应用软 件两类,系统软件是用来管理计算机本 身及应用软;应用软件用来完成用户所 要求的时间任务。 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.进程基本状态的转换

西南交大毕业总结报告

西南交大毕业总结报告 篇一:西南交通大学专科毕业总结报告 西南交通大学网络教育专科 总结报告 学习中心xxx 专业xxx 学号xxx 姓名xxx 西南交通大学网络教育学院制 二〇一4年三月十日填写 题目:工商企業管理畢業總結 正文 珍贵的大专生活已接近尾声为了看清将来要走的路,感觉非常有必要总结一下大专两年半的得失,从中继承做得好的方面改进不足的地方。 从踏入学校门槛的那天起,连续六年三好学生的我经过良师的精心指导以及自己的奋力拚搏、自强不息,我逐渐成为

了一个能适应社会要求的新时代大学生,并为做一个全能型的社会主义建设者打下坚实的基础。虽然学习成绩不是非常好,但我却在学习的过程中收获了很多。首先是我端正了学习态度。在我考进学校时,脑子里想的是好好放松从重压下解放出来的自己,然而很快我就明白了,大学仍需努力认真的学习。其次是明确了学习目的,选择工商企业管理这门专业,不是因为它是择业的“冷门”或者“热门”而是我喜欢这门专业喜欢这个行业。再有就是学习的同时我也培养了自己独立思考问题和处理问题的能力,古语虽有“书中自有黄金屋,书中自有颜如玉”的真谛,但是“黄金屋”和“颜如玉”也是需要自己去探索研究才能发现的,所以我饱读古今中外各类图书,不仅丰富了自己,而且从中领悟到思考问题和处理问题的能力。 通过两年半的学习与锻炼我的社会时间能力也有了很大的提高,我参加了不少校内活动还做国一些社会实践,组织过几场精彩的足球比赛也是我认为是我课余生活中做的比较有意义的事情。因为通过组织比赛我不仅锻炼了自己的组织能力,而且还和一些同学建立了深厚的友谊。在比赛中我们配合的淋漓尽致,也增加了我的团队精神和集体荣誉感。寒暑假期间我还会在社会上做一些公益活动,兼职等等,虽然有时候会觉得累,但能够帮助别人并且锻炼自己,我乐此不彼。

北京邮电大学2009年操作系统期末试卷

北京邮电大学2008——2009学年第一学期 《操作系统》期末考试试题(A) 1.FILL IN BLANKS (10 points) 1.1 A _trap___ is a software-generated interrupt caused either by an error or by a specific request from a user program that an operating-system services be performed. 1.2 A ______ is used in Unix systems to notify a process that a particular event has occurred. 1.3 To manage the process executing, OS records the state and other information (e.g. the priority) of the process in . 1.4 The scheduling criteria include CPU utilization, throughput, turnaround time, waiting time, and response time .

1.5 For n concurrent processes that mutual exclusively use some resources, the code segmentations, in which the processes access the resources, are called deadlock . 1.6. The ___visual memory___ scheme enables users to run programs that are larger than actual physical memory, this allows the execution of a process that is not completely in memory. 1.7. The __FIFO___ page replacement algorithm associates with each page the time when that page was brought into memory. When a page must be replaced, the oldest page is chosen. 1.8The file system resides permanently on , which is designed to hold a large amount of data permanently. 1.9The file system itself is generally composed of many different levels, including the logical file system, the file-organization module, the and the I/O control. 1.10 T he kernel’s I/O subsystem provides numero us services. Among these are I/O scheduling, , caching, spooling, device reservation, and error handling, and name translation. 2.CHOICE ( 10 points ) 2.1 _____ operating systems have well defined, fixed time constraints. Processing must be done within the defined constrains, or the system will fail. A. Multimedia B. Real-time C. Clustered D. Network 2.2 Which one of the following OS is implemented based on microkernel structure? _____

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,它为某个临界资源而设置,表示该资源的可用

中山大学操作系统原理A卷试题答案

2008操作系统A卷参考答案 班级 __________ 姓名____________ 学号________ 成绩_________ 一、术语解释(5个,共20分) 1、内核:实现操作系统的最基本功能、常驻内容并要求CPU在核心态方式下运行的代码 和相关数据结构。 2、信号量:操作系统内容定义和管理的一种特殊数据结构,提供了初始化、增值和减值等操 作供进程调用,以实现进程互斥或同步。 3、临界区:两个或多个进程中,对应的程序中各存在一段访问共享数据的代码块,设 为CS1、CS2、。。。,这些代码块中,若有某个进程执行其中一个(设CSi),则其它进 程执行其它相应代码块只能在CSi完成后才能开妈执行。具有这种要求的代码块称为临界 区 4、线程:进程中的一个独立的调度执行单位。多线程技术中,同一进程中可以有多个独立的 调度执行单位,并且可以并发执行。 5、逻辑地址:程序设计员在程序中使用的地址。 二、简答题(5题,共30分) 6、系统调用的过程中,控制的转移步骤如何? 答:CPU控制权在用户态的进程中,进程执行陷入或软中断指令硬件执行中断响应动作进入内核,CPU控制权在核心态的操作系统内核代码中,执行系统调用服务程序,并可能进行进程调度,选择下一个可运行的进程恢复可运行进程的上下文CPU 控制权又交给在用户态的进程, 7、与层次结构比较,微内核结构的主要优缺点是什么? 答:优点有接口一致性、系统安全性高、功能扩展灵活性、可移植性高、适用于分布式环境。 缺点是效率较低。 8、与多进程技术相比,多线程技术有哪些优点? 答:同一进程的多个线程共享进程的资源,因此与进程相比,线程占用的资源极少;创建/撤消线程更快;同一进程的多个线程同属一个地址空间,可以使用共享变量直接通信;用户级线程还不需内核管理,减少了内核的开销。 9、用Test_And_Set指令如何实现互斥? 10、文件打开过程主要工作及步骤 答:1搜索文件目录,以获取该文件控制信息;2检查操作权限;3分配活动文件表的 表项和打开文件表的表项,填入相应的文件控制信息;分配必要的缓冲区;4返回打开文件表的表项指针(文件句柄),供进程以后读写文件。 三、应用分析题(共4题,共40分) 11、(10分)k读者-写者问题:有一个文件F被多个进程读取或修改,其中一批进程 只读取F,另一些进程只修改F。为了保证系统响应时间,规定最多只能有k个进 程同时操作F。试用信号量及P、V操作实现读者与写者的同步。 答: Semaphore wr=1;

操作系统各章重点总结。

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

网络教育毕业总结报告doc

网络教育毕业总结报告篇一:西南交通大学网络教育专科总结报告西南交通大学网络教育专科 总结报告 学习中心绵阳职业技术学院 专业道路桥梁工程技术学号 11930072 姓名谢志福 西南交通大学网络教育学院制 二〇一三年十一月九日填写 篇二:西南交通网络教育专科毕业总结报告西南交通大学网络教育专科 总结报告 学习中心汉阳学习中心 专业铁道工程技术学号姓名 西南交通大学网络教育学院制 二〇一三年月日填写 篇三:网络教育毕业总结报告 篇一:西南交通大学网络教育专科总结报告西南交通大学网络教育专科 总结报告 学习中心绵阳职业技术学院 专业道路桥梁工程技术学号 11930072

姓名谢志福 西南交通大学网络教育学院制 二〇一三年十一月九日填写篇二:网络教育毕业自我鉴定(大全) 1、 两年的网络学习和社会实践是我不断的挑战自我、充实自己的一个过程。本人在思想认识、业务知识和专业技能方面都有了很大的提高。对自已两年来的学习和生活作一个评定。 一、思想政治方面,本人注重政治理论学习,能自觉与党中央保持高度一致;尊重领导,团结同志,热爱本职,作风严谨,为人正派。平时关心国家大事,总是尽力去做有益于国家、社会的事。努力做一名优秀的共产党员。 二、学习方面, 本人能按照学校的有关规定,利用业余时间自学各门课程,积极参加集中面授和串讲,按时完成各项作业。通过两年学习,现已认真完成了各门课程的学习,掌握了所学知识,并通过了所学课程考核。 三、业务方面,为适应社会发展的需求,我认真学习专业知识,对本专业一丝不苟。除了理论学习之外,还把学到的理论知识用到我现在的工作中来,我的实践能力也得到非常大的提高。

安徽大学计算机操作系统期末考试题及答案定稿版

安徽大学计算机操作系统期末考试题及答案精 编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

安徽大学2011―2012 学年度第二学期 一、单项选择题(每题1分,共20分) 1.操作系统的发展过程是( C ) A、原始操作系统,管理程序,操作 系统 B、原始操作系统,操作系统,管理 程序 C、管理程序,原始操作系统,操作 系统 D、管理程序,操作系统,原始操作 系统 2.用户程序中的输入、输出操作实际上 是由( B )完成。 A、程序设计语言 B、操作系 统 C、编译系统 D、标准库 程序3.进程调度的对象和任务分别是 ( C )。 A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4.支持程序浮动的地址转换机制是( A、动态重定位 ) A、动态重定位 B、段式地址转换 C、页式地址转换 D、静态重定位 5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按 ( C )进行排列。

A、地址从大到小 B、地址从小到大 C、尺寸从小到大 D、尺寸从大到小 6.设计批处理多道系统时,首先要考虑的是( 系统效率和吞吐量 )。 A、灵活性和可适应性 B、系统效率和吞吐量 C、交互性和响应时间 D、实时性和可靠性 7.当进程因时间片用完而让出处理机时,该进程应转变为( B )状态。 A、等待 B、就绪 C、运行 D、完成 8.文件的保密是指防止文件被 ( C )。 A、篡改 B、破坏 C、窃取 D、删除9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区 是由( D )临界区构成。 A、2个 B、3个 C、4个 D、5个 10.按逻辑结构划分,文件主要有两类:(记录式文件)和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件 11.UNIX中的文件系统采用(、流式文件)。 A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12.文件系统的主要目的是 ( A )。 A、实现对文件的按名存取 B、实现虚拟存贮器 C、提高外围设备的输入输出速度 D、用于存贮系统文档

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

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

相关文档
最新文档