当前位置:文档之家› 计算机系统引导过程分析

计算机系统引导过程分析

计算机系统引导过程分析
计算机系统引导过程分析

第三章、计算机系统引导过程分析

第一节计算机加电自测(POST)

计算机在工作之前,必须检测并初始化所有系统部件,并将操作系统引导在内存中。系统检测和初始化过程一般由ROM BIOS控制。加电自测及初始化过程一般简称为POST(Power-on Self Test)。

3.1.1 计算机的启动方式:

1)系统加电(即开启系统):BIOS跳至由处理器复位向量(F:0000h)所指的入口点,执行所有POST测试和初始化工作。POST调用BIOS INT 19h 引导系统。

2)通过硬件复位键(RESET键)复位系统:(同上)。

3)通过按++三组合键(热启动):INT 09h键盘硬件中断服务例程将控制权转给BIOS POST。对64K以上的内存不作测试和初始化,但其他POST测试和初始化工作一律要执行。然后POST调用BIOS INT 19h 引导系统。

3.1.2 POST过程:

POST过程的初始化和自检功能是紧密联系的,一般可将这些功能分为二类:与中心系统硬件有关的功能;与配置和非系统硬件有关的功能。

中心硬件POST测试失败一般引起严重的系统板错误,并产生喇叭信号。在进行其他POST测试之前,中心硬件功能应正常,最重要的中心硬件最先测试和初始化。POST测试和初始化中心硬件的顺序如下:

中央处理单元(CPU)ROM BIOS(检查和)CMOS RAM

键盘控制器基本的64K系统RAM可编程中断控制器

可编程中断计时器高速缓冲(Cache)控制器

-61-

-62-

原始INT19h MSDOS修改部分SMARTDRV.EXE等其他程序修改部分图3-1

在测试和初始化完之后,POST 验证存储在CMOS RAM 中的系统配置数据是否与实际硬件一致。然后,POST 测试并初始化64K 以上内存、键

盘、软盘、硬盘驱动器、CRT 控制器和其他非系统板硬件。POST 测试和初始化配置与非系统硬件的顺序如下:

至此,计算机的加电自测完成。加电自测过程中可能出现的故障以及解决的方法在第三章中将专题讨论,本章不再熬述。

第二节 INT 19h 引导系统

在加电自测完成之后,计算机将控制权交给INT19h ,由INT19h 引导并加载操作系统。在分析讨论INT19h 工作过程之前,我们首先了解获得INT19h 源程序的方法。

3.2.1 获得INT19h 源程序的方法:

由于计算机在加栽操作系统的过程中,INT19h 的入口参数被多次修改(如图3-1),因而原INT19h 被包裹上了一层或多层外壳。因此原始的INT19h 入口参数不能简单地从内存0000:0064H 处获得,而必须去掉它的所有外壳才能获得。INT19h 源程序的方法很多,下面以“采用DEBUG.EXE 获得INT19h 源程序”的方法为例,具体给大家介绍。

第一步、让计算机按缺省方式启动:将启动盘根目录下的CONFIG.SYS 和AUTOEXEC.BAT 改

名后重新启动即可。之所以要

按缺省方式启动,是因为按缺

省方式启动时,INT19h 被修改

次数最少,也最容易找到原始INT19h 的入口。

第二步、找到当前INT19h 的入口地址:INT19h 的入口地

CMOS RAM 配置数据

CRT 控制器

64K 以上的RAM内存

键 盘

软盘驱动器A的可用性

串行接口电路

软盘控制器硬盘控制器其他硬件

址位于内存0000:0064H处,用DEBUG的D命令即可显示。

第三步、获得并分析该层源程序:采用文件重定位方法可获得源程序。源程序分析举例如下:

0070:0000 18 09 17 23 01 EA 93 08-70 00 00 00 00 00 00 00 ...#....p.......

0070:0010 00 00 7C 03 23 01 00 00-00 00 00 00 70 00 01 02 ..|.#.......p...

0070:0020 00 E8 00 35 00 70 00 13-80 F5 06 00 07 43 4F 4E ...5.p.......CON 0070:00F0 70 00 00 80 F5 06 33 07-43 4F 4D 34 20 20 20 20 https://www.doczj.com/doc/d7237147.html,4

0070:0100 10 C8 19 00 C0 13 97 9F-00 F0 15 59 F8 00 F0 19 ...........Y....

0070:0110 F2 E6 00 F0 1B 53 FF 00-F0 4E 03 70 00 00 FF F8 .....S...N.p....

0070:0630 00 00 00 00 00 00 00 00-00 00 FF FF FF FF FC 01 ................

0070:0640 01 02 C3 E2 00 F0 08 A5-FE 00 F0 09 87 E9 00 F0 ................

0070:0650 0A 73 F7 00 F0 0B 73 F7-00 F0 0C 73 F7 00 F0 0D .s....s....s....

0070:0660 73 F7 00 F0 0E 57 EF 00-F0 70 1E F7 00 F0 72 73 s....W...p....rs

0070:0670 F7 00 F0 73 73 F7 00 F0-74 73 F7 00 F0 76 45 E8 ...ss...ts...vE.

0070:0680 00 F0 77 65 E8 00 F0 54-03 B8 03 1F 09 83 09 E7 ..we...T........

0070:0690 09 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0070:07FB 0E PUSH CS

0070:07FC 1F POP DS

0070:07FD 8E061A00 MOV ES,[001A]

0070:0801 B90500 MOV CX,0005

0070:0804 BE0001 MOV SI,0100

0070:0807 AC LODSB 恢复10、13、15、19、1B中断向量

0070:0808 98 CBW

0070:0809 D1E0 SHL AX,1

0070:080B D1E0 SHL AX,1

0070:080D 8BF8 MOV DI,AX

0070:080F AD LODSW

0070:0810 AB STOSW

0070:0811 AD LODSW

0070:0812 AB STOSW

0070:0813 E2F2 LOOP 0807

0070:0815 803E400600 CMP BYTE PTR [0640],00

0070:081A 7422 JZ 083E

0070:081C BE4106 MOV SI,0641

0070:081F B90E00 MOV CX,000E

0070:0822 AC LODSB

0070:0823 98 CBW

0070:0824 8BF8 MOV DI,AX

0070:0826 AD LODSW 恢复02、08、09、0A、0B、0C、0D、0E、72、0070:0827 8BD8 MOV BX,AX 73、74、76、77中断向量

0070:0829 AD LODSW

0070:082A 83FBFF CMP BX,-01

0070:082D 740D JZ 083C

0070:082F 3DFFFF CMP AX,FFFF

0070:0832 7408 JZ 083C

0070:0834 03FF ADD DI,DI

0070:0836 03FF ADD DI,DI

0070:0838 93 XCHG BX,AX

-63-

0070:0839 AB STOSW

0070:083A 93 XCHG BX,AX

0070:083B AB STOSW

0070:083C E2E4 LOOP 0822

0070:083E 803E0D0000 CMP BYTE PTR [000D],00

0070:0843 7403 JZ 0848

0070:0845 E83000 CALL 0878

0070:0848 CD19 INT 19

第四步、获得并分析原INT19h源程序:通过第三步分析可知,原INT19h入口的位置(F000:E6F2H)。采用文件重定位方法可获得源程序。

3.2.2 INT 19h中断处理程序及分析:

由于原始INT19h的内容存在于计算机的BIOS中,因此INT19h的内容与BIOS的版本和生产厂家有关,不同版本和生产厂家BIOS的INT19h内容不同。但是、不管是那个版本或生产厂家BIOS的INT19h在加栽操作系统时,所完成的任务是相同或基本相同的。下面举例分析:

例一、MRBIOS (c) 1988 INT19h分析:

F000:E6F2 E9151B JMP 020A

......

F000:020A B80000 MOV AX,0000

F000:020D 8ED8 MOV DS,AX

F000:020F B80000 MOV AX,0000

F000:0212 8EC0 MOV ES,AX DS,ES←0

F000:0214 FA CLI (Clear Interrupt enable Flag)

F000:0215 26 ES: 将41H中断向量置为F000:283H

F000:0216 C70604018302 MOV WORD PTR [0104],0283

F000:021C 26 ES: 其中,41H中断为硬盘参数中断

F000:021D 8C0E0601 MOV [0106],CS

F000:0221 26 ES: 将1EH中断向量置为F000:278H

F000:0222 C70678007802 MOV WORD PTR [0078],0278

F000:0228 26 ES: 其中,1EH中断为软盘参数中断

F000:0229 8C0E7A00 MOV [007A],CS

F000:022D FB STI

F000:022E B90300 MOV CX,0003 置读次数

F000:0231 B200 MOV DL,00 置A驱

F000:0233 E82100 CALL 0257 读0头0道1扇区引导记录到0:7C00H

F000:0236 7205 JB 023D 读失败,转023D

F000:0238 EA007C0000 JMP 0000:7C00 执行0:7C00H的引导记录(软盘)

F000:023D B90300 MOV CX,0003 置读次数

F000:0240 B280 MOV DL,80 置硬盘驱号

F000:0242 E81200 CALL 0257 读0头0道1扇区引导记录到0:7C00H

F000:0245 720E JB 0255 读失败,执行ROM-BASIC(INT 18H)

F000:0247 26 ES: 引导记录模块最后一个字为AA55H

-64-

F000:0248 813EFE7D55AA CMP WORD PTR [7DFE],AA55

F000:024E 7505 JNZ 0255 不是,转INT 18H

F000:0250 EA007C0000 JMP 0000:7C00 成功,执行引导记录(硬盘)

F000:0255 CD18 INT 18 ROM-BASIC

●复位驱动器及读引导记录子程序

F000:0257 B400 MOV AH,00 复位磁盘

F000:0259 CD13 INT 13

F000:025B 7213 JB 0270 复位失败,转270H

F000:025D B402 MOV AH,02 复位成功,置读扇区功能号

F000:025F B001 MOV AL,01 置要读的扇区数

F000:0261 BB007C MOV BX,7C00 读到内存0:7C00H(ES:BX指标)

F000:0264 51 PUSH CX

F000:0265 B500 MOV CH,00 置磁道号(柱面号)

F000:0267 B101 MOV CL,01 置要读首扇区号

F000:0269 B600 MOV DH,00 置要读磁头号

F000:026B CD13 INT 13

F000:026D 59 POP CX 成功,反回

F000:026E 7307 JNB 0277

F000:0270 80FC80 CMP AH,80 失败,超时错?

F000:0273 E0E2 LOOPNZ 0257 未够3次,继续

F000:0275 F9 STC

F000:0276 C3 RET

F000:0277 C3 RET

例二、AMIBIOS (c) 1993 INT19h分析:

F000:E6F2 E93CA0 JMP 8731

......

F000:8731 33C0 XOR AX,AX

F000:8733 8EC0 MOV ES,AX

F000:8735 FA CLI

F000:8736 FC CLD

F000:8737 B8C7EF MOV AX,EFC7

F000:873A BF7800 MOV DI,0078

F000:873D AB STOSW

F000:873E B800F0 MOV AX,F000

F000:8741 AB STOSW 修改1E中断指向F000:EFC7 F000:8742 BF007C MOV DI,7C00

F000:8745 B90001 MOV CX,0100

F000:8748 F3 REPZ

F000:8749 AB STOSW 0000:7C00---0000:7DFF 填 F000 F000:874A FB STI

F000:874B 33D2 XOR DX,DX

-65-

F000:874D 33C0 XOR AX,AX

F000:874F CD13 INT 13 软驱复位

F000:8751 E83677 CALL FE8A 判断操作系统启动顺序是C:,A:或A:,C: F000:8754 2406 AND AL,06

F000:8756 7431 JZ 8789 启动顺序是C:,A:则转移

F000:8758 E86900 CALL 87C4 读软盘引导记录

F000:875B E8A026 CALL ADFE 判断是否读成功

F000:875E 734C JNB 87AC 成功则转移

F000:8760 E8CB64 CALL EC2E 判断是否有硬盘

F000:8763 A808 TEST AL,08

F000:8765 7512 JNZ 8779 无硬盘则转移

F000:8767 B280 MOV DL,80

F000:8769 E85800 CALL 87C4 读硬盘主引导记录

F000:876C E30B JCXZ 8779

F000:876E 7209 JB 8779 读失败则转移

F000:8770 26 ES:

F000:8771 813EFE7D55AA CMP WORD PTR [7DFE],AA55 比较硬盘主引导记录标志

F000:8777 7443 JZ 87BC 标志存在则转移

F000:8779 CD18 INT 18 ROM-BASIC

......

F000:8789 E8A264 CALL EC2E 判断是否有硬盘

F000:878C A808 TEST AL,08

F000:878E 7512 JNZ 87A2

F000:8790 B280 MOV DL,80

F000:8792 E82F00 CALL 87C4 读硬盘主引导记录

F000:8795 E30B JCXZ 87A2

F000:8797 7209 JB 87A2

F000:8799 26 ES:

F000:879A 813EFE7D55AA CMP WORD PTR [7DFE],AA55

F000:87A0 741A JZ 87BC

F000:87A2 B200 MOV DL,00

F000:87A4 E81D00 CALL 87C4 读软盘引导记录

F000:87A7 E85426 CALL ADFE 判断是否读成功

F000:87AA 72CD JB 8779

F000:87AC BF007C MOV DI,7C00

F000:87AF 26 ES:

F000:87B0 8B05 MOV AX,[DI]

F000:87B2 B98000 MOV CX,0080

F000:87B5 FA CLI

F000:87B6 FC CLD

F000:87B7 F3 REPZ

F000:87B8 AE SCASB

F000:87B9 FB STI

-66-

F000:87BA E3BD JCXZ 8779 判断软盘引导记录的存在性

F000:87BC E84B64 CALL EC0A

F000:87BF EA007C0000 JMP 0000:7C00 控制权交给主引导记录或引导记录●复位驱动器及读引导记录子程序

F000:87C4 53 PUSH BX

F000:87C5 B90400 MOV CX,0004

F000:87C8 BB007C MOV BX,7C00

F000:87CB 51 PUSH CX

F000:87CC B90100 MOV CX,0001

F000:87CF B80102 MOV AX,0201

F000:87D2 CD13 INT 13

F000:87D4 59 POP CX

F000:87D5 730C JNB 87E3

F000:87D7 50 PUSH AX

F000:87D8 33C0 XOR AX,AX

F000:87DA CD13 INT 13

F000:87DC 58 POP AX

F000:87DD D0E4 SHL AH,1

F000:87DF 7202 JB 87E3

F000:87E1 E2E8 LOOP 87CB

F000:87E3 5B POP BX

F000:87E4 C3 RET

●通过读成功与否给BH赋初值

F000:ADFE B700 MOV BH,00

F000:AE00 E306 JCXZ AE08 如果读完4次(CX=0)则转移

F000:AE02 B701 MOV BH,01

F000:AE04 7303 JNB AE09 读成功则转移

F000:AE06 B702 MOV BH,02

F000:AE08 F9 STC 进位标志位置1(CF=1)

F000:AE09 C3 RET

F000:EC2E B08E MOV AL,8E

F000:EC30 E8AEFF CALL EBE1

F000:EC33 A8C0 TEST AL,C0

F000:EC35 C3 RET

F000:EBE1 E670 OUT 70,AL

F000:EBE3 E300 JCXZ EBE5

F000:EBE5 E300 JCXZ EBE7

F000:EBE7 E471 IN AL,71

F000:EBE9 C3 RET

-67-

第三节硬盘主引导记录

硬盘的主引导记录与计算机硬件无关,但与所使用的操作系统种类以及该操作系统的版本有密切的关系。DOS操作系统与XENIX操作系统下的硬盘主引导记录不一样;DOS3.30操作系统与DOS6.20操作系统下的硬盘主引导记录也有一些区别。即使如此,但它们所完成的功能与作用则是基本相同的。因此,我们在学习硬盘主引导记录时,只需分析其一种即可触类旁通,达到学习的目的。

3.3.1 获得主引导记录的方法:

获得主引导记录的方法很多也很简单。下面仅以采用DOS提供的DEBUG.EXE程序获得硬盘主引导记录的方法为例,简单介绍其方法。

C:\>DEBUG

-a

xxxx:0100 mov ax,0201 ah为功能号 al为读扇区数

xxxx:0103 mov bx,0200 es:bx为所读扇区在内存中的存放位置

xxxx:0106 mov cx,0001 cx为所读磁道号和扇区号

xxxx:0109 mov dx,0080 dh为所读磁头号 dl为所读磁盘的盘符

xxxx:010C int 13h

xxxx:010E int 3h 设置断点

xxxx:010F

-g

注:INT13h的具体使用方法请查阅有关书籍

3.3.2 硬盘主引导记录分析(DOS 6.20):

硬盘主引导记录的功能是读出硬盘自举分区的BOOT程序,并把控制权转移到分区BOOT程序。

xxxx:7C00 FA CLI

xxxx:7C01 33C0 XOR AX,AX

xxxx:7C03 8ED0 MOV SS,AX

xxxx:7C05 BC007C MOV SP,7C00 重置堆栈

xxxx:7C08 8BF4 MOV SI,SP

xxxx:7C0A 50 PUSH AX

xxxx:7C0B 07 POP ES ES=0

xxxx:7C0C 50 PUSH AX

xxxx:7C0D 1F POP DS DS=0

xxxx:7C0E FB STI

xxxx:7C0F FC CLD

xxxx:7C10 BF0006 MOV DI,0600

xxxx:7C13 B90001 MOV CX,0100

xxxx:7C16 F2 REPNZ 移动引导记录从0000:7c00到0000:0600 xxxx:7C17 A5 MOVSW

-68-

-69-

xxxx:7C18 EA1D060000 JMP 0000:061D 跳转到 xxxx:7C1D BEBE07 MOV SI,07BE xxxx:7C20 B304 MOV BL,04

xxxx:7C22 803C80 CMP BYTE PTR[SI],80 判断0000:07be

是否为活动分区 xxxx:7C25 740E JZ 7C35 是活动分区则转移 xxxx:7C27 803C00 CMP BYTE PTR [SI],00 xxxx:7C2A 751C JNZ 7C48 xxxx:7C2C 83C610 ADD SI,+10 xxxx:7C2F FECB DEC BL xxxx:7C31 75EF JNZ 7C22

xxxx:7C33 CD18 INT 18 进入ROM-BASIC xxxx:7C35 8B14 MOV DX,[SI]

xxxx:7C37 8B4C02 MOV CX,[SI+02] xxxx:7C3A 8BEE MOV BP,SI xxxx:7C3C 83C610 ADD SI,+10 xxxx:7C3F FECB DEC BL

xxxx:7C41 741A JZ 7C5D 分区表正常 xxxx:7C43 803C00 CMP BYTE PTR [SI],00 xxxx:7C46 74F4 JZ 7C3C xxxx:7C48 BE8B06 MOV SI,068B xxxx:7C4B AC LODSB

xxxx:7C4C 3C00 CMP AL,00 xxxx:7C4E 740B JZ 7C5B xxxx:7C50 56 PUSH SI

xxxx:7C51 BB0700 MOV BX,0007 用白色 xxxx:7C54 B40E MOV AH,0E 于屏幕 xxxx:7C56 CD10 INT 10 写提示 xxxx:7C58 5E POP SI xxxx:7C59 EBF0 JMP 7C5B

xxxx:7C5B EBFE JMP 7C5B 死循环 xxxx:7C5D BF0500 MOV DI,0005 xxxx:7C60 BB007C MOV BX,7C00 xxxx:7C63 B80102 MOV AX,0201 xxxx:7C66 57 重 PUSH DI xxxx:7C67 CD13 INT 13 xxxx:7C69 5F 复 POP DI

xxxx:7C6A 730C JNB 7C78 读入C:盘引导扇区正确则移移 xxxx:7C6C 33C0 读 XOR AX,AX xxxx:7C6E CD13 5 INT 13 xxxx:7C70 4F 次 DEC DI xxxx:7C71 75ED JNZ 7C60 xxxx:7C73 BEA306 MOV SI,06A3 xxxx:7C76 EBD3 JMP 7C4B xxxx:7C78 BEC206 MOV SI,06C2 xxxx:7C7B BFFE7D MOV DI,7DFE

xxxx:7C7E 813D55AA CMP WORD PTR [DI],AA55 判断C:盘是否有效

xxxx:7C82 75C7 JNZ 7C4B

xxxx:7C84 8BF5 MOV SI,BP

xxxx:7C86 EA007C0000 JMP 0000:7C00

xxxx:7C80 49 6E 76 61 6C Inval xxxx:7C90 69 64 20 70 61 72 74 69-74 69 6F 6E 20 74 61 62 id partition tab xxxx:7CA0 6C 65 00 45 72 72 6F 72-20 6C 6F 61 64 69 6E 67 le.Error loading xxxx:7CB0 20 6F 70 65 72 61 74 69-6E 67 20 73 79 73 74 65 operating syste xxxx:7CC0 6D 00 4D 69 73 73 69 6E-67 20 6F 70 65 72 61 74 m.Missing operat xxxx:7CD0 69 6E 67 20 73 79 73 74-65 6D 00 00 00 00 00 00 ing system...... xxxx:7CE0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7CF0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D00 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D10 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D30 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D40 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D50 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D60 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D70 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D80 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7D90 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7DA0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ xxxx:7DB0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 ................ xxxx:7DC0 01 00 06 0F 3F CB 3F 00-00 00 01 23 03 00 00 00 ....?.?....#.... xxxx:7DD0 01 CC 05 01 BF C9 40 23-03 00 AE D4 07 00 00 00 ......@#........ xxxx:7DE0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 06 ................ xxxx:7DF0 81 CA 02 09 FF 34 DA FC-0A 00 5C A2 01 00 55 AA .....4......U.

第四节引导(BOOT)记录

引导记录与主引导记录一样,它与计算机硬件无关,只与所使用的DOS系统版本有关系。

3.4.1 获得引导记录的方法:

利用DEBUG所提供的L命令,可以很方便地获得逻辑盘的引导记录

格式:L<存放的偏移地址> <逻辑盘盘号> <起始逻辑扇区号> <读入扇区数>

例如:

C:\>DEBUG

-L100 2 0 1 (存放地址为100 盘号为2 起始逻辑扇区号0 读入扇区数1,其中逻辑盘盘号规定为:A盘0 B盘1 C盘2 ...)

-D100 2ff (显示引导记录)

-70-

-71-

3.4.2 引导记录注释清单之一:(DOS3.3):

0B85:0100 EB34 JMP 0136

0B85:0100 34 90 49 42 4D 4D 53-33 2E 33 00 02 02 01 00 4.IBMMS3.3..... 0B85:0110 02 70 00 D0 02 FD 02 00-09 00 02 00 00 00 00 00 .p.............. 0B85:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 12 ................ 0B85:0130 00 00 00 00 01 00 ......

0B85:0136 FA CLI

0B85:0137 33C0 XOR AX,AX 0B85:0139 8ED0 MOV SS,AX 0B85:013B BC007C MOV SP,7C00 0B85:013E 16 PUSH SS 0B85:013F 07 POP ES

0B85:0140 BB7800 MOV BX,0078

0B85:0143 36 SS: 取软盘1E 中断

0B85:0144 C537 LDS SI,[BX] (SI)←(BX) (DS)←(BX+2) 0B85:0146 1E PUSH DS 0B85:0147 56 PUSH SI 0B85:0148 16 PUSH SS 0B85:0149 53 PUSH BX

0B85:014A BF2B7C MOV DI,7C2B 0B85:014D B90B00 MOV CX,000B 0B85:0150 FC CLD

0B85:0151 AC LODSB 0B85:0152 26 ES:

0B85:0153 803D00 CMP BYTE PTR [DI],00 0B85:0156 7403 JZ 015B 0B85:0158 26 ES:

0B85:0159 8A05 MOV AL,[DI] 0B85:015B AA STOSB

0B85:015C 8AC4 MOV AL,AH 0B85:015E E2F1 LOOP 0151 0B85:0160 06 PUSH ES 0B85:0161 1F POP DS

0B85:0162 894702 MOV [BX+02],AX

0B85:0165 C7072B7C MOV WORD PTR [BX],7C2B 修改1E 中断指向0:7C2BH 0B85:0169 FB STI

0B85:016A CD13 INT 13 ● 磁头复位 ● 0B85:016C 7267 JB 01D5

0B85:016E A0107C MOV AL,[7C10] 0B85:0171 98 CBW

0B85:0172 F726167C MUL WORD PTR [7C16] 0B85:0176 03061C7C ADD AX,[7C1C] 0B85:017A 03060E7C ADD AX,[7C0E] 0B85:017E A33F7C MOV [7C3F],AX

-72-

0B85:0181 A3377C MOV [7C37],AX 0B85:0184 B82000 MOV AX,0020

0B85:0187 F726117C MUL WORD PTR [7C11] 0B85:018B 8B1E0B7C MOV BX,[7C0B] 0B85:018F 03C3 ADD AX,BX 0B85:0191 48 DEC AX 0B85:0192 F7F3 DIV BX

0B85:0194 0106377C ADD [7C37],AX 0B85:0198 BB0005 MOV BX,0500 0B85:019B A13F7C MOV AX,[7C3F]

0B85:019E E89F00 CALL 0240

◆调子程序[2]◆ 0B85:01A1 B80102 MOV AX,0201

0B85:01A4 E8B300 CALL 025A ◆调子程序[3]◆ 0B85:01A7 7219 JB 01C2 0B85:01A9 8BFB MOV DI,BX 0B85:01AB B90B00 MOV CX,000B 0B85:01AE BED67D MOV SI,7DD6 0B85:01B1 F3 REPZ 0B85:01B2 A6 CMPSB

0B85:01B3 750D JNZ 01C2

0B85:01B5 8D7F20 LEA DI,[BX+20] 0B85:01B8 BEE17D MOV SI,7DE1 0B85:01BB B90B00 MOV CX,000B 0B85:01BE F3 REPZ 0B85:01BF A6 CMPSB

0B85:01C0 7418 JZ 01DA 0B85:01C2 BE777D MOV SI,7D77

0B85:01C5 E86A00 CALL 0232 ◆调子程序[1]◆ 0B85:01C8 32E4 XOR AH,AH

0B85:01CA CD16 INT 16 ●从键盘读字符● 0B85:01CC 5E POP SI 0B85:01CD 1F POP DS 0B85:01CE 8F04 POP [SI] 0B85:01D0 8F4402 POP [SI+02]

0B85:01D3 CD19 INT 19 ●重新引导系统● 0B85:01D5 BEC07D MOV SI,7DC0 0B85:01D8 EBEB JMP 01C5 0B85:01DA A11C05 MOV AX,[051C] 0B85:01DD 33D2 XOR DX,DX

0B85:01DF F7360B7C DIV WORD PTR [7C0B] 0B85:01E3 FEC0 INC AL

0B85:01E5 A23C7C MOV [7C3C],AL 0B85:01E8 A1377C MOV AX,[7C37] 0B85:01EB A33D7C MOV [7C3D],AX 0B85:01EE BB0007 MOV BX,0700

-73-

0B85:01F1 A1377C MOV AX,[7C37]

0B85:01F4 E84900 CALL 0240

◆调子程序[2]◆ 0B85:01F7 A1187C MOV AX,[7C18] 0B85:01FA 2A063B7C SUB AL,[7C3B] 0B85:01FE 40 INC AX

0B85:01FF 38063C7C CMP [7C3C],AL 0B85:0203 7303 JNB 0208

0B85:0205 A03C7C MOV AL,[7C3C] 0B85:0208 50 PUSH AX

0B85:0209 E84E00 CALL 025A ◆调子程序[3]◆ 0B85:020C 58 POP AX 0B85:020D 72C6 JB 01D5

0B85:020F 28063C7C SUB [7C3C],AL 0B85:0213 740C JZ 0221

0B85:0215 0106377C ADD [7C37],AX

0B85:0219 F7260B7C MUL WORD PTR [7C0B] 0B85:021D 03D8 ADD BX,AX 0B85:021F EBD0 JMP 01F1

0B85:0221 8A2E157C MOV CH,[7C15] 0B85:0225 8A16FD7D MOV DL,[7DFD] 0B85:0229 8B1E3D7C MOV BX,[7C3D]

0B85:022D EA00007000 JMP 0070:0000 正确砖入IO 文件 子程序 [1]

0B85:0232 AC LODSB

0B85:0233 0AC0 OR AL,AL 0B85:0235 7422 JZ 0259 0B85:0237 B40E MOV AH,0E 0B85:0239 BB0700 MOV BX,0007

0B85:023C CD10 INT 10 ●显示错误信息● 0B85:023E EBF2 JMP 0232 子程序 [2]

0B85:0240 33D2 XOR DX,DX

0B85:0242 F736187C DIV WORD PTR [7C18] 0B85:0246 FEC2 INC DL

0B85:0248 88163B7C MOV [7C3B],DL 0B85:024C 33D2 XOR DX,DX

0B85:024E F7361A7C DIV WORD PTR [7C1A] 0B85:0252 88162A7C MOV [7C2A],DL 0B85:0256 A3397C MOV [7C39],AX 0B85:0259 C3 RET 子程序 [3]

0B85:025A B402 MOV AH,02 0B85:025C 8B16397C MOV DX,[7C39] 0B85:0260 B106 MOV CL,06 0B85:0262 D2E6 SHL DH,CL

0B85:0264 0A363B7C OR DH,[7C3B]

0B85:0268 8BCA MOV CX,DX

0B85:026A 86E9 XCHG CH,CL

0B85:026C 8A16FD7D MOV DL,[7DFD]

0B85:0270 8A362A7C MOV DH,[7C2A]

0B85:0274 CD13 INT 13 ●读磁盘●

0B85:0276 C3 RET

0B85:0270 0D-0A 4E 6F 6E 2D 53 79 73 ..Non-Sys 0B85:0280 74 65 6D 20 64 69 73 6B-20 6F 72 20 64 69 73 6B tem disk or disk 0B85:0290 20 65 72 72 6F 72 0D 0A-52 65 70 6C 61 63 65 20 error..Replace 0B85:02A0 61 6E 64 20 73 74 72 69-6B 65 20 61 6E 79 20 6B and strike any k 0B85:02B0 65 79 20 77 68 65 6E 20-72 65 61 64 79 0D 0A 00 ey when ready... 0B85:02C0 0D 0A 44 69 73 6B 20 42-6F 6F 74 20 66 61 69 6C ..Disk Boot fail 0B85:02D0 75 72 65 0D 0A 00 49 42-4D 42 49 4F 20 20 43 4F ure...IBMBIO CO 0B85:02E0 4D 49 42 4D 44 4F 53 20-20 43 4F 4D 00 00 00 00 MIBMDOS COM.... 0B85:02F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.

3.4.3 硬盘引导记录注释清单之二:(DOS6.2):

0000:7C00 EB3C JMP 7C3E 跳转到0000:7C3E

0000:7C00 90 4D 53 44 4F 53-35 2E 30 00 02 04 01 00 .MSDOS5.0..... 0000:7C10 02 00 02 00 00 F8 C9 00-3F 00 10 00 3F 00 00 00 ........?...?... 0000:7C20 01 23 03 00 80 00 29 FD-0D 2E 27 4E 4F 20 4E 41 .#....)...'NO NA 0000:7C30 4D 45 20 20 20 20 46 41-54 31 36 20 20 20 ME FAT16

根据硬件参数修改引导记录参数

0000:7C3E FA CLI 中断标志IF置0

0000:7C3F 33C0 XOR AX,AX AX ← 0

0000:7C41 8ED0 MOV SS,AX 重置堆栈

0000:7C43 BC007C MOV SP,7C00

0000:7C46 16 PUSH SS

0000:7C47 07 POP ES

0000:7C48 BB7800 MOV BX,0078

0000:7C4B 36 SS: 取软盘1E中断

0000:7C4C C537 LDS SI,[BX] SI←[BX] DS←[BX+2]

0000:7C4E 1E PUSH DS

0000:7C4F 56 PUSH SI

0000:7C50 16 PUSH SS

0000:7C51 53 PUSH BX

0000:7C52 BF3E7C MOV DI,7C3E

0000:7C55 B90B00 MOV CX,000B

0000:7C58 FC CLD 方向标志置0 (DF←0)

0000:7C59 F3 REPZ 把DOS通信区中的磁盘基数表读出并0000:7C5A A4 MOVSB 填入引导记录中

-74-

0000:7C5B 06 PUSH ES

0000:7C5C 1F POP DS

0000:7C5D C645FE0F MOV BYTE PTR [DI-02],0F

0000:7C61 8B0E187C MOV CX,[7C18]

0000:7C65 884DF9 MOV [DI-07],CL

0000:7C68 894702 MOV [BX+02],AX

0000:7C6B C7073E7C MOV WORD PTR [BX],7C3E 修改1E中断指向0:7C3EH 0000:7C6F FB STI 中断标志IF置1 0000:7C70 CD13 INT 13 软盘/硬盘复位

0000:7C72 7279 JB 7CED 复位失败转7CED 0000:7C74 33C0 XOR AX,AX

0000:7C76 3906137C CMP [7C13],AX

0000:7C7A 7408 JZ 7C84

0000:7C7C 8B0E137C MOV CX,[7C13]

0000:7C80 890E207C MOV [7C20],CX

0000:7C84 A0107C MOV AL,[7C10]

读根目录表

0000:7C87 F726167C MUL WORD PTR [7C16] (DX,AX)=(AX)*[7C16] 0000:7C8B 03061C7C ADD AX,[7C1C]

0000:7C8F 13161E7C ADC DX,[7C1E] 带进位加法

0000:7C93 03060E7C ADD AX,[7C0E]

0000:7C97 83D200 ADC DX,+00

0000:7C9A A3507C MOV [7C50],AX

0000:7C9D 8916527C MOV [7C52],DX

0000:7CA1 A3497C MOV [7C49],AX

0000:7CA4 89164B7C MOV [7C4B],DX

0000:7CA8 B82000 MOV AX,0020

0000:7CAB F726117C MUL WORD PTR [7C11]

0000:7CAF 8B1E0B7C MOV BX,[7C0B]

0000:7CB3 03C3 ADD AX,BX

0000:7CB5 48 DEC AX

0000:7CB6 F7F3 DIV BX (AX)=(DX,AX)/(BX) 0000:7CB8 0106497C ADD [7C49],AX (DX)=(DX,AX)/(BX) 0000:7CBC 83164B7C00 ADC WORD PTR [7C4B],+00

0000:7CC1 BB0005 MOV BX,0500 文件目录表读入位置0000:7CC4 8B16527C MOV DX,[7C52]

0000:7CC8 A1507C MOV AX,[7C50]

0000:7CCB E89200 CALL 7D60 调子程序建立有关参数0000:7CCE 721D JB 7CED

0000:7CD0 B001 MOV AL,01

0000:7CD2 E8AC00 CALL 7D81 调子程序读根目录表0000:7CD5 7216 JB 7CED

0000:7CD7 8BFB MOV DI,BX

0000:7CD9 B90B00 MOV CX,000B

-75-

0000:7CDC BEE67D MOV SI,7DE6

0000:7CDF F3 REPZ 比较IO.SYS

0000:7CE0 A6 CMPSB

0000:7CE1 750A JNZ 7CED 无IO.SYS目录则转移

0000:7CE3 8D7F20 LEA DI,[BX+20] 有效地址送寄存器(DI)=(BX)+20 0000:7CE6 B90B00 MOV CX,000B

0000:7CE9 F3 REPZ 比较MSDOS.SYS

0000:7CEA A6 CMPSB

0000:7CEB 7418 JZ 7D05 无MSDOS.SYS目录则不转移

错误显示并复位系统

0000:7CED BE9E7D MOV SI,7D9E

0000:7CF0 E85F00 CALL 7D52 调错误显示子程序

0000:7CF3 33C0 XOR AX,AX

0000:7CF5 CD16 INT 16 16中断键盘等待

0000:7CF7 5E POP SI

0000:7CF8 1F POP DS

0000:7CF9 8F04 POP [SI]

0000:7CFB 8F4402 POP [SI+02]

0000:7CFE CD19 INT 19 重新复位系统

0000:7D00 58 POP AX

0000:7D01 58 POP AX

0000:7D02 58 POP AX

0000:7D03 EBE8 JMP 7CED

读取IO.SYS系统文件

0000:7D05 8B471A MOV AX,[BX+1A]

0000:7D08 48 DEC AX (AX)=(AX)-1

0000:7D09 48 DEC AX

0000:7D0A 8A1E0D7C MOV BL,[7C0D]

0000:7D0E 32FF XOR BH,BH

0000:7D10 F7E3 MUL BX

0000:7D12 0306497C ADD AX,[7C49]

0000:7D16 13164B7C ADC DX,[7C4B]

0000:7D1A BB0007 MOV BX,0700

0000:7D1D B90300 MOV CX,0003 共读3次,3扇区

0000:7D20 50 PUSH AX

0000:7D21 52 反 PUSH DX

0000:7D22 51 PUSH CX

0000:7D23 E83A00 复 CALL 7D60 调子程序建立有关参数0000:7D26 72D8 JB 7D00 (CF)=1则转

0000:7D28 B001 读 MOV AL,01

0000:7D2A E85400 CALL 7D81 调子程序读IO.SYS文件0000:7D2D 59 取 POP CX

0000:7D2E 5A POP DX

-76-

0000:7D2F 58 至 POP AX

0000:7D30 72BB JB 7CED

0000:7D32 050100 读 ADD AX,0001

0000:7D35 83D200 ADC DX,+00

0000:7D38 031E0B7C 完 ADD BX,[7C0B]

0000:7D3C E2E2 LOOP 7D20

控制权转交IO.SYS

0000:7D3E 8A2E157C MOV CH,[7C15]

0000:7D42 8A16247C MOV DL,[7C24]

0000:7D46 8B1E497C MOV BX,[7C49]

0000:7D4A A14B7C MOV AX,[7C4B]

0000:7D4D EA00007000 JMP 0070:0000 控制权转交IO.SYS 错误显示子程序

0000:7D52 AC LODSB

0000:7D53 0AC0 OR AL,AL

0000:7D55 7429 JZ 7D80 错误信息显示完毕0000:7D57 B40E MOV AH,0E 则跳转

0000:7D59 BB0700 MOV BX,0007

0000:7D5C CD10 INT 10

0000:7D5E EBF2 JMP 7D52

INT13h入口参数准备子程序

0000:7D60 3B16187C CMP DX,[7C18]

0000:7D64 7319 JNB 7D7F

0000:7D66 F736187C DIV WORD PTR [7C18]

0000:7D6A FEC2 INC DL (DL)=(DL)+1 0000:7D6C 88164F7C MOV [7C4F],DL

0000:7D70 33D2 XOR DX,DX

0000:7D72 F7361A7C DIV WORD PTR [7C1A]

0000:7D76 8816257C MOV [7C25],DL

0000:7D7A A34D7C MOV [7C4D],AX

0000:7D7D F8 CLC 进位位置0 (CF)=0 0000:7D7E C3 RET

0000:7D7F F9 STC 进位位置1 (CF)=1 0000:7D80 C3 RET

读盘子程序

0000:7D81 B402 MOV AH,02

0000:7D83 8B164D7C MOV DX,[7C4D]

0000:7D87 B106 MOV CL,06

0000:7D89 D2E6 SHL DH,CL

0000:7D8B 0A364F7C OR DH,[7C4F]

0000:7D8F 8BCA MOV CX,DX

0000:7D91 86E9 XCHG CH,CL

0000:7D93 8A16247C MOV DL,[7C24]

-77-

0000:7D97 8A36257C MOV DH,[7C25]

0000:7D9B CD13 INT 13

0000:7D9D C3 RET

0000:7D90 0D 0A .. 0000:7DA0 4E 6F 6E 2D 53 79 73 74-65 6D 20 64 69 73 6B 20 Non-System disk 0000:7DB0 6F 72 20 64 69 73 6B 20-65 72 72 6F 72 0D 0A 52 or disk error..R 0000:7DC0 65 70 6C 61 63 65 20 61-6E 64 20 70 72 65 73 73 eplace and press 0000:7DD0 20 61 6E 79 20 6B 65 79-20 77 68 65 6E 20 72 65 any key when re 0000:7DE0 61 64 79 0D 0A 00 49 4F-20 20 20 20 20 20 53 59 ady...IO SY 0000:7DF0 53 4D 53 44 4F 53 20 20-20 53 59 53 00 00 55 AA SMSDOS SYS..U.

3.4.4 磁盘I/O基数表(DBT:Disk-Base Telle):

偏移含义内容

00H 高4位为步进率, 低4位为磁头卸载时间DFH

01H 高7位为磁头加载时间, 低1位为非DMA方式02H7

02H 电机等代时间25H

03H 扇区容量(0:128B,1:256B,2:512B,3:1024B) 02H

04H 每道扇区数09H

05H 扇区间隔字节数2AH

06H 每扇区字节数('扇区容量'=0) FFH

07H 格式化时扇区间隔填充字节50H

08H 格式化时扇区数据填充字节F6H

09H 寻道后磁道稳定时间0FH

0AH 命令等待时间(电机启动时间) 02H

3.4.5 驱动器参数块(DPB:Driver Parameter Block):

偏移(字节) 长度(字节) 含义

00H 02H 每扇区字节数

02H 01H 每簇扇区数

03H 02H 保留扇区数

05H 01H FAT个数

06H 02H 根目录项数

08H 02H 总扇区数

0AH 01H 介质描述字节

0BH 02H 每个FAT占用扇区数

0DH 02H 每道扇区数

0FH 02H 磁头数

-78-

11H 02H 隐含扇区数

第五节 IO.SYS 重定位过程*

0070:0000 FA CLI

0070:0001 33C0 XOR AX,AX

0070:0003 8ED0 MOV SS,AX

0070:0005 BCE27B MOV SP,7BE2 设置系统堆栈

0070:0008 BDE27B MOV BP,7BE2

0070:000B FB STI

0070:000C 895E14 MOV [BP+14],BX IO.SYS文件所在的首扇区号0070:000F 886E1A MOV [BP+1A],CH 介质描述标志

0070:0012 885618 MOV [BP+18],DL 驱动器号

0070:0015 33C0 XOR AX,AX

0070:0017 8ED8 MOV DS,AX

0070:0019 A1187C MOV AX,[7C18]

0070:001C 894616 MOV [BP+16],AX 每道扇区号

0070:001F A11A7C MOV AX,[7C1A]

0070:0022 894600 MOV [BP+00],AX 面数

0070:0025 A1167C MOV AX,[7C16]

0070:0028 894608 MOV [BP+08],AX 每FAT扇区数

0070:002B A11C7C MOV AX,[7C1C]

0070:002E 89460A MOV [BP+0A],AX 隐含扇区数

0070:0031 A10E7C MOV AX,[7C0E]

0070:0034 89460E MOV [BP+0E],AX 保留扇区数

0070:0037 33C0 XOR AX,AX

0070:0039 8ED8 MOV DS,AX

0070:003B A10B7C MOV AX,[7C0B]

0070:003E 33DB XOR BX,BX

0070:0040 8A1E0D7C MOV BL,[7C0D]

0070:0044 F7E3 MUL BX

0070:0046 894602 MOV [BP+02],AX 每簇字节数

0070:0049 C6461901 MOV BYTE PTR [BP+19],01 先假定是12位FAT

0070:004D 807E1AF8 CMP BYTE PTR [BP+1A],F8 是否硬盘

0070:0051 7535 JNZ 0088 不是则不用检查FAT形式及转

送起始含扇区号

0070:0053 C746040000 MOV WORD PTR [BP+04],0000

0070:0058 33C0 XOR AX,AX

0070:005A 8EC0 MOV ES,AX

0070:005C BF007D MOV DI,7D00

0070:005F C746060100 MOV WORD PTR [BP+06],0001

0070:0064 E8DB00 CALL 0142 读入硬盘主引导记录0070:0067 BEC27E MOV SI,7EC2

-79-

0070:006A B90400 MOV CX,0004

0070:006D 33C0 XOR AX,AX

0070:006F 8ED8 MOV DS,AX

0070:0071 C6461901 MOV BYTE PTR [BP+19],01 是否12位FAT形式

0070:0075 803C01 CMP BYTE PTR [SI],01

0070:0078 740E JZ 0088

0070:007A C6461904 MOV BYTE PTR [BP+19],04

0070:007E 803C04 CMP BYTE PTR [SI],04 是否16位FAT形式

0070:0081 7405 JZ 0088

0070:0083 83C610 ADD SI,+10

0070:0086 E2E9 LOOP 0071

0070:0088 C746100100 MOV WORD PTR [BP+10],0001 簇号基数

0070:008D B8EF01 MOV AX,01EF

0070:0090 33D2 XOR DX,DX

0070:0092 F77602 DIV WORD PTR [BP+02] 计算0000--01EF内容所占扇区数0070:0095 014610 ADD [BP+10],AX 加上文件内相对簇号,以获取要读

入的首簇号

0070:0098 83FA00 CMP DX,+00 首簇号=簇号基数+在IO.SYS内相对

簇号+修正量

0070:009B 7403 JZ 00A0

0070:009D FF4610 INC WORD PTR [BP+10]

0070:00A0 0E PUSH CS

0070:00A1 1F POP DS

0070:00A2 33C0 XOR AX,AX

0070:00A4 8EC0 MOV ES,AX

0070:00A6 BEB700 MOV SI,00B7

0070:00A9 BF007D MOV DI,7D00

0070:00AC B93801 MOV CX,0138

0070:00AF 90 NOP

0070:00B0 F3 REPZ

0070:00B1 A4 MOVSB 将0070:00B7--01EEH内容移到

0000:7D00H

0070:00B2 EA007D0000 JMP 0000:7D00

0070:00B7 33C0 XOR AX,AX

0070:00B9 8ED8 MOV DS,AX

0070:00BB 8B4608 MOV AX,[BP+08] FAT占用扇区数

0070:00BE 894606 MOV [BP+06],AX 作为I/O扇区数

0070:00C1 8B460A MOV AX,[BP+0A] 计算FAT占用的首扇区号作为I/O起

始扇区号(隐含

0070:00C4 03460E ADD AX,[BP+0E] 扇区数+保留扇区数

0070:00C7 894604 MOV [BP+04],AX

0070:00CA 33C0 XOR AX,AX

0070:00CC 8EC0 MOV ES,AX

0070:00CE BF0080 MOV DI,8000

0070:00D1 E86E00 CALL 0142 把FAT读入到0000:8000H

-80-

浅谈操作系统(操作系统论文)

浅谈操作系统 摘要 随着科学技术的不断发展与创新,计算机得到了广泛的普及和应用,同时计算机的操作系统也在不断的发展和完善当中。21世纪是信息的时代,最重要的体现就是计算机技术的广泛应用及发展,操作系统作为计算机系统的基础是管理计算机软硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统,本文主要是通过对操作系统及其发展情况来进行分析,了解计算机操作系统发展的基本情况,阐述未来操作系统的发展趋势,从而促进计算机技术的不断的进步。 关键词:计算机;操作系统;发展; 一、计算机操作系统的发展史 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统所处位置作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。 原始的操作系统主要是从批次模式开始,然后逐渐的发展到分时机制的模式,后来由于多处理器时代的到来,整个操作系统也逐渐有多处理器的协调功能,继而出现了分布式的系统。操作系统主要发展可分为四个阶段:纯手工操作阶段、批次处理阶段、多道程序系统阶

段及现代操作系统阶段。整个系统的发展主要面临着技术上的难题,主要体现的是计算机硬件技术的发展限制了软件的发展和操作系统的不稳定性。 二、计算机中常用的操作系统 计算机操作系统作为计算机系统的基础是管理电脑软硬件系统的程序。计算机系统的种类多,经常是通过应用领域来划分的,其中应用程序主要是包括桌面、服务器、主机以及嵌入几个应用领域的操作系统。常用的操作系统分类如下。 1.Windows系统 Windows系统作为计算机内较为常见的操作系统,在人们的日常生活和学习中都应用的较为普遍,Windows系统作为现代最为流行的操作系统,其在技术方面也是非常成熟的。目前最新版本的Windows 操作系统为Windows10。 2.UNIX系统 UNIX系统有自身较为统一的实施标准和认证规范,并且利用该规范,还可以对UNXI系统进行程序的移植,并且促进了UNIX的发展及应用程序的开发,UNXI已经开始作为大型机器、网络服务器及工作中的主流操作系统,并且其自身的发展还在一定的程度上推动了Linux等开源UNIX类操作系统的发展。 3.Linux系统 Linux系统是在UNIX的基础上进行发展的,其开源模式的软件环境极其价值越来越受到社会,并且其软件的运行环境及其价值越来

系统分析

系统的分析 一、教学目标: 1、初步掌握系统分析的基本方法; 二、教学过程: 复习导入:1、系统具有哪些性质? 系统具有的整体性、相关性、目的性、动态性、环境适应性等既是系统的属性,也是系统的基本思想,今天我们要学习的系统分析就是运用系统的思想和定性定量相结合的方法分析解决问题。 1.什么叫系统分析。 为了发挥系统的功能,实现系统的目标,运用科学的方法对系统进行调查、分析、比较、试验、计算,从而拟定一套有效的处理步骤和程序,或对原有系统提出改进方案的过程。 板书:第二节系统的分析 情景设置:该选哪条路上班? 第一种路线: 60%的情况下30分钟左右可以抵达单位。 40%的情况下60分钟可以抵达单位。 第二种路线: 50%的情况下30分钟左右可以抵达单位。 30%的情况下20分钟可以抵达单位。 20%的情况下由于堵车80分钟才可以到达单位。 你现在能确定该走哪条路吗? 学生思考,演示。 计算分析决策

教师:在刚在的思考之后,分析计算(科学分析),选取了合适的方案解决 了选路问题。可见系统分析不仅是对系统观点的应用,也是解决问题的科学方案,是一种科学决策。 再回过头看看这个问题是怎么解决的?第一,明确问题,设立目标:从家到 学校用时最短; 第二,接着收集信息:考虑选择每条路可能会遇到的情况; 第三,对这些信息进行分析计算,评价比较;第四,对选取的方案进行检验核实,做出决策。这就是我们系统分析的一般过程。 学生活动:请大家用流程图表示系统分析的一般过程。(1人板演,其他写 在笔记本上。) 板书:1、系统分析的一般步骤。 2、系统分析及其一般步骤: 【案例分析2】:田忌赛马 学生阅读案例,回答问题:田忌与齐王的三局赛马可以有哪些方案?孙膑所 出的主意为什么能使田忌赢了齐王? 明确问题, 设立目标 收集资料, 制定方案 分析计算, 评价比较 检验核实, 作出决策

Win2000系统引导过程详解

Win 2000系统引导过程详解 引言 本文旨在以Windows 2000为例讨论其系统的引导过程,以期较为深入的揭示引导过程中各种相关故障的原因并提出快捷有效的解决途径。 一、基于PC的Windows 2000引导过程 个人电脑上Windows 2000的引导过程是分好几个阶段进行的,通过了解Windows 2000引导过程中的各个阶段以及每个阶段使用到的文件,有助于我们之后更有效的分析和处理各种问题。Windows 2000的引导过程分为预引导、引导、内核加载、内核初始化和系统登陆五个阶段,如图一所示, 图一 表一则列出了在系统引导的不同阶段所引用的文件。

表一 在这里,我们暂不讨论Windows 2000操作系统的内部工作机制,以下通过图文结合的方式,简要给大家说明在这五个阶段,操作系统都在干些什么,那些程序发挥了作用。 第一步,预引导阶段,过程如图二所示,首先包括了系统加电自检,这个过程完成硬件设备的枚举和配置。其次计算机BIOS确定引导设备的位置,加载并运行Master Boot Record(MBR)主引导区内容(如lilo等)。然后扫描分区表,定位活动分区,并将活动分区上的引导扇区内容加载到内存中执行。最后加载系统盘根目录中的Ntldr文件,这也就是Windows 2000操作系统的加载程序。 图二 第二步,引导阶段,过程如图三所示,首先是初始化引导加载程序,这时Ntldr完成处理器模式切换和文件系统(FAT或NTFS)驱动的加载,如果使用了SCSI设备,Ntldr将Ntbootdd.sys加载到内存中运行。其次Ntldr读取系统盘根目录下的Boot.ini文件,屏幕显示Boot Loader Operating System菜单,等待用户选择要加载的操作系统,关于Boot.ini 文件的设置我们后面还会详细讨论,如果此时Ntldr没有找到Boot.ini文件,就默认从第一个磁盘的第一个分区的\Winnt位置加载系统,如果在所限时间内用户没有做出选择,则启动默认的选项。开始加载Windows 2000操作系统之后,Ntldr读取并运行程序https://www.doczj.com/doc/d7237147.html, 以完成硬件的检测,如果安装了多操作系统,而且用户选择启动了Windows98或WindowsMe那么Ntldr就会加载并运行Bootsect.dos启动所选的操作系统。最后在Ntldr 加载了Windows 2000并收集了硬件信息后,紧跟着就根据用户选择调用系统的硬件配置文件,如果只有单一的硬件配置文件则直接作为默认配置调用,强烈建议用户自己在系统安装好了之后备份一份原始硬件配置文件。

计算机操作系统第四版试题(卷)与答案解析教学文稿

计算机操作系统第四版试题(卷)与答案解 析

操作系统期末考试(一) 一、单项选择题(在每小题的四个备选答案中,只有一个是正确的,将其号码写在题干的括号中。每小题2分,共20分) 1、文件系统的主要组成部分是() A、文件控制块及文件 B、I/O文件及块设备文件 C、系统文件及用户文件 D、文件及管理文件的软件 2、实现进程互斥可采用的方法() A、中断 B、查询 C、开锁和关锁 D、按键处理 3、某页式管理系统中,地址寄存器的低9位表示页内地址,则页面大小为() A、1024字节 B、512字节 C、1024K D、512K 4、串联文件适合于()存取 A、直接 B、顺序 C、索引 D、随机 5、进程的同步与互斥是由于程序的()引起的 A、顺序执行 B、长短不同 C、信号量 D、并发执行 6、信号量的值() A、总是为正 B、总是为负 C、总是为0 D、可以为负整数 7、多道程序的实质是() A、程序的顺序执行 B、程序的并发执行 C、多个处理机同时执行 D、用户程序和系统程序交叉执行 8、虚拟存储器最基本的特征是() A、从逻辑上扩充内存容量 B、提高内存利用率 C、驻留性 D、固定性 9、飞机定票系统是一个() A、实时系统 B、批处理系统 C、通用系统 D、分时系统 10、操作系统中,被调度和分派资源的基本单位,并可独立执行的实体是() A、线程 B、程序 C、进程 D、指令 二、名词解释(每小题3分,共15分) 1.死锁: 2.原子操作: 3.临界区: 4.虚拟存储器: 5.文件系统: 三、判断改错题(判断正误,并改正错误,每小题2分,共20分) 1、通道是通过通道程序来对I/O设备进行控制的。() 2、请求页式管理系统中,既可以减少外零头,又可以减少内零头。() 3、操作系统中系统调用越多,系统功能就越强,用户使用越复杂。() 4、一个进程可以挂起自已,也可以激活自已。() 5、虚拟存储器的最大容量是由磁盘空间决定的。() 6、单级文件目录可以解决文件的重名问题。() 7、进程调度只有一种方式:剥夺方式。() 8、程序的顺度执行具有顺序性,封闭性和不可再现性。() 9、并行是指两个或多个事件在同一时间间隔内发生,而并发性是指两个或 多个事件在同一时刻发生。() 10、进程控制一般都由操作系统内核来实现。() 四、简答题(每小题5分,共25分) 1、简述死锁产生的原因及必要条件。 2、什么是多道程序技术,它带来了什么好处? 3、有结构文件可分为哪几类,其特点是什么?

浅谈计算机操作系统现状与发展

浅谈计算机操作系统现 状与发展 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

浅谈计算机操作系统现状与发展摘要:操作系统(Operating System,简称OS)是计算机系统的重要组成部分,是一个重要的系统软件,它负责管理计算机系统的硬、软件资源和整个计算机的工作流程,协调系统部件之间,系统与用户之间、用户与用户之间的关系。随着操作系统的新技术的不断出现,功能不断增加。操作系统作为一个标准的套装软件必须满足尽可能多用户的需要,于是系统不断膨胀,功能不断增加,并逐渐形成从开发工具到系统工具再到应用软件的一个平台环境。更能满足用户需求。本文主要针对操作系统在计算机发展中的核心地位和技术变革作出了分析,同时对计算机操作系统的功能,发展和分类做了简单的分析和阐述,以及对计算机未来发展趋势做了一个预测。 关键词:计算机操作系统,发展历程,新技术,发展趋势 Talking about the Present Situation and Development of Computer Operating System Abstract: Operating system (OS) is an important part of the computer system, is an important system software, which is responsible for managing the computer system hardware and software resources and the entire computer workflow, coordination between system components, systems and users Between the user and the user relationship. With the continuous emergence of the new technology of the operating system, the function is increasing. The operating system as a standard suite of software must meet the needs of as many users as possible, so the system is constantly expanding, the function is increasing, and

计算机操作系统原理分析

计算机操作系统原理分析 计算机操作系统原理分析 (1) 1.第1章:引论 (6) 1.1. 1.1 操作系统的概述 (6) 1.1.1. 1.1.1 计算机系统的组成 (7) 1.1.2. 1.1.2 操作系统的定义 (10) 1.1.3. 1.1.3 计算机系统的层次结构 (10) 1.2. 1.2 操作系统的形成 (13) 1.2.1. 1.2.1 操作系统形成与发展的主要因素 (14) 1.2.2. 1.2.2 多道程序设计与操作系统 (14) 1.2.3. 1.2.3 操作系统的发展 (15) 1.3. 1.3 操作系统的基本类型 (15) 1.3.1. 1.3.1 批处理系统及其特征 (15) 1.3.2. 1.3.2 分时系统及其特征 (18) 1.3.3. 1.3.3 实时系统及其特征 (20) 1.4. 1.4 计算机操作系统的研究内容 (21) 1.4.1. 1.4.1 操作系统理论 (21) 1.4.2. 1.4.2 操作系统软件 (22) 1.4.3. 1.4.3 操作系统的主要功能 (23) 2.第2张:操作系统的接口 (24) 2.1. 2.1 操作系统内核 (24) 2.1.1.操作系统软件的核心部分称为内核(Kernel) (24) 2.1.2. 2.1.1 处理器指令及工作模式 (24) 2.1.3. 2.1.2 操作系统内核 (25) 2.2. 2.2 操作系统的启动 (28) 2.2.1. 2.2.1 固件及其基本功能 (28) 2.2.2. 2.2.2 基本输入/输出系统BIOS (29) 2.2.3. 2.2.3 可扩展固件接口 (30) 2.2.4. 2.2.4 操作系统的启动 (31) 2.3. 2.3 操作系统的用户接口 (31) 2.3.1. 2.3.1 命令接口 (32) 2.3.2. 2.3.2 程序接口及系统调用 (33) 2.3.3. 2.3.3 UNIX的用户接口 (34) 3.第3章:处理器管理 (37) 3.1. 3.1 系统的工作流程 (37) 3.1.1. 3.1.1 程序及其特点 (38) 3.1.2. 3.1.2 顺序执行的工作方式及特征 (38) 3.1.3. 3.1.3 并发执行的工作方式及特征 (39) 3.2. 3.2 进程的概念 (41)

浅谈我对计算机操作系统的认识

浅谈我对计算机操作系统的认识 朱雪松 L11214018 信息管理与信息系统 计算机的发展将趋向超高速、超小型、并行处理和智能化。自从1944年世界上第一台电子计算机诞生以来,计算机技术迅猛发展,传统计算机的性能受到挑战,开始从基本原理上寻找计算机发展的突破口,新型计算机的研发应运而生。未来量子、光子和分子计算机将具有感知、思考、判断、学习以及一定的自然语言能力,使计算机进人人工智能时代。这种新型计算机将推动新一轮计算技术革命,对人类社会的发展产生深远的影响。 一.什么是操作系统 操作系统(英语:Operating System,简称OS)是一管理电脑硬件与电脑软件资源的程序,同时也是计算机系统的核心与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网上与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作接口。 操作系统的型态非常多样,不同机器安装的操作系统可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形化用户界面,而有些仅使用文字接口,而将图形接口视为一种非必要的应用程序. 二.操作系统的历史 (一)无操作系统的计算机系统 1.人工操作方式 从第一台计算机诞生(1945年)到20世纪50年代中期的计算机,属于第一代计算机,这一时期的计算机操作采用人工操作的方式直接使用计算机硬件系统,这种方式的主要特征是用户独占主机,CPU等待人工操作。可见这种方式严重降低了计算机资源的利用率,造成了人机矛盾。 2.脱机输入/输出方式 为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了这种技术。该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的数据输入磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速的调入内存。 (二)单道批处理系统和多道批处理系统 1.单道批处理系统的处理过程及特征 上个世纪50年代中期发明了晶体管,为了充分利用晶体管,减少空闲时间,于是就出现了单道批处理,其自动处理过程是:首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完时,把控制权还给监督程序,再由监督程序把磁盘上的第二个作业调入内存。其主要特征为自动,顺序,单道。其主要矛盾为主机和外设的矛盾。

工程项目的系统分析(20200523212612)

第三章工程项目的系统分析 本章重点:1工程项目的系统性 2工程项目的结构分析 本章难点:工程项目的结构分析 教学目的:1.使学生了解工程项目的系统性; 2.熟悉工程项目的结构分析。 教学时数:4学时 教学方法与手段:讲授为主 第一节工程项目的系统性 一、工程项目的系统性 (一)概述 系统是由若干相互作用和相互依赖的要素组合而成,且有特定功能的整体, 系统概念体现在; (1)全局的概念 (2)追求项目整体的最优化,强调系统目标的一致性,强调项目的总目标和总效果 (3)强调系统的集成 (二)工程项目的系统描述 1、工程项目的目标系统 (1)项目目标系统有自身的结构 (2)完整性 (3)目标的均衡性 (4)动态性 2、工程项目的对象系统:由各单项工程构成,由工程分别各功能面组合来的综合体。有设计任务署,技术设计文件来定义的,并通过项目实施完成。 要求 (1)空间布置合理 (2)能够安全、高效率的运行 (3)结构合理

(4)是均衡、高效率运行的整体 (5)与环境协调 3、项目的行为系统:由现实目标,完成任务所不需的工程活动构成的,这些活动间存在各种各样的逻辑关系。 要求: (1)包括现实目标系统所必需的所有工作,并纳入计划和控制的过程。 (2)保证项目实施过程程序化、合理化,均衡地利用资源,降低不均衡性,保持现场持续。 (3)保证各分部实施和各专业之间有利的、合理的协调。 4、项目组织系统:由项目的行为为主体构成。 (三)工程项目的系统特点: 结合性、相关性、目的性、开放性、动态性、其他特点 一、工程项目的结构分析 (一)工程项目结构分析的概念 (二)项目管理中常用的系统分解方法 1、结构化分解方法:任何项目系统都有它的结构 2、过程化方法:项目由许多活动组成,活动的有机组合形成过程,这些过程可分解为多个互相依赖的子过程和阶段。 (1)项目实施过程,工程项目各阶段 (2)项目工作过程(管理活动) (3)行政工作过程(政府规定的过程) (4)专业工作的实施过程 (三)工程项目结构分解 1、工程项目结构分解的结果 (1)树形结构图 (2)项目结构分析表: 2、项目结构分解过程 将项目分解成子项目 研究并确定每个子项目的活动 将各层次结构单元收集检查表上,评价分解结果 构成系统结构图 分析并讨论分解的完整性 由决策者决定结构图,并形成相应文件 编码

【计算机专业文献翻译】信息系统分析和设计

附录二 Information Systems Analysis and Design This class reconstructs the classical computer science topics of "systems analysis and design" -- mapping information flows and data modeling -- within a framework derived from industrial design. Compared with the traditional approach, our focus of attention will shift from systems to services, mainframes to networks, the desktop to the street, organizational workplaces to institutionally organized relationships, cognition to physical activity, and individual users to communities of practice. The class will be organized around presentations by interdisciplinary teams, with minimal lecturing and written work. We will attend closely to the design process, and the teams' own experiences will become raw material for their projects. Two books are required: David G. Messerschmitt, Networked Applications: A Guide to the New Computing Infrastructure, Morgan Kaufman, 1999. This is an outstanding plain-language introduction to the structure of modern information systems. Donald A. Norman, The Invisible Computer, MIT Press, 1999. This is a polemic against the personal computer and in favor of a new generation of diverse and specialized computing devices. Another book is recommended: Jeffrey L. Whitten and Lonnie D. Bentley, Systems Analysis and Design Methods, fourth edition, Irwin McGraw-Hill, 1998. This is a thorough introduction to the conventional practice of systems analysis and design. If you are going to work with people who have the conventional training then it will be useful reference book. But as I say, I regard this material as out-of-date.

多系统引导程序示例

多系统引导程序XORLDR应用示例 无忧论坛的Pauly大侠出品的多系统引导程序Xorldr,功能强大,可以使用多种启动方式,最多可管理8个启动项。Pauly本人也写了一个用户手册,详细介绍Xorldr程序的功能及用法,但限于篇幅没有具体讲解启动实例。本人在实际应用该程序的过程中积攒了一些心得经验,不敢独享,写下来供大家参考,以起到抛砖引玉的效果。 1.工具准备 在进行安装XORLDR之前,我们需要准备好以下工具软件: ●XORLDR多系统管理程序,Pauly大侠作品,目前最新版本是0.3.5 ● BOOTICE引导程序安装工具,亦为Pauly作品,最新版本是0.76 ● WinHex,强大的16进制文件编辑与磁盘编辑软件。 ● grub4dos、syslinux最新版,以及其它可能用到的工具,如本文中使用的9IN1_PXE_SRS合盘,我们要多次利用其中的工具。 2.磁盘分区及结构介绍 首先,我们使用Winhex来看一下磁盘上的分区及结构。 打开Winhex,按F9打开磁盘,如图1所示: (图1) 选择物理磁盘HD0,点击OK后可观察到磁盘(hd0)的分区情况,如图2所示。

(图2) 由图2可以看出我们这块磁盘的一些情况:容量为73.9G,分为四个分区,启始扇区(Start sectors)占用第0~62扇区;第一主分区占用第63~20996954扇区,10G空间;第二主分区占用第20996955~31503464扇区,共5G空间;第三主分区占用第31503465~94446134扇区,共30G空间;存在一个分区间隙占用第94446135~94446197扇区,共31.5KB空间;第四分区(逻辑分区)占用第94446198~154577429扇区,共28.7G空间;最后是一个分区剩余空间,占用第154577430~154587127扇区,共4.7MB空间。 实际分区根据自己的需要进行,不必局限于单主分区或者四主分区。一个比较理想的情况是三主分区加扩展分区,再设置若干逻辑分区,这样对于现在海量容量的硬盘来讲是比较合适的。 3.XORLDR菜单编辑示例 我们假定您已经做好了分区。以我这台老机器上分区为例:四个分区,第一、二主分区各安装一个winXP,并实现系统之间相互隐藏;第三主分区放置游戏及其它私密数据;第四分区(逻辑分区)放置我的9IN1_PXE_SRS维护工具合盘及系统备份等。根据实际需要,设计菜单项如图3所示。

计算机操作系统重难点分析(四)

《计算机操作系统》课程 重难点分析(4) (第六章、七章) 问题1:怎样理解操作系统的作业调度和进程调度的关系? 考点:作业调度和进程调度间的关系 回答:解:作业调度和进程调度都属于处理机调度。作业调度是处理机管理的高级形式,它的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。进程调度是处理机管理的低级形式,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。 操作系统中作业的状态主要有:提交、后备、执行、完成,进程的状态主要有等待、就绪、执行。作业调度和进程调度的转换关系见下图。 作业的状态及其转换 提示:对状态间的转换条件也应该进行掌握。 问题2:考虑一个理发店,只有一个理发师,只有n张可供顾客等待理发的椅子,如果没有顾客,则理发师睡觉;如果有一顾客进入理发店发现理发师在睡觉,则把他叫醒,写一个程序协调理发师和顾客之间的关系。 考点:用PV原语实现同步 回答:理发师进程 V oid barber(void) { while (true) { P(customers); P(mutex);

waiting = waiting – 1 ; V(barber); V(mutex); cut_hair( ); } 顾客进程 V oid customers(void) {P(mutex); if(waiting

浅谈计算机操作系统现状与发展

浅谈计算机操作系统现状与发展 摘要:操作系统(Operating System,简称OS)是计算机系统的重要组成部分,是一个重要的系统软件,它负责管理计算机系统的硬、软件资源和整个计算机的工作流程,协调系统部件之间,系统与用户之间、用户与用户之间的关系。随着操作系统的新技术的不断出现,功能不断增加。操作系统作为一个标准的套装软件必须满足尽可能多用户的需要,于是系统不断膨胀,功能不断增加,并逐渐形成从开发工具到系统工具再到应用软件的一个平台环境。更能满足用户需求。本文主要针对操作系统在计算机发展中的核心地位和技术变革作出了分析,同时对计算机操作系统的功能,发展和分类做了简单的分析和阐述,以及对计算机未来发展趋势做了一个预测。 关键词:计算机操作系统,发展历程,新技术,发展趋势 Talking about the Present Situation and Development of Computer Operating System Abstract: Operating system (OS) is an important part of the computer system, is an important system software, which is responsible for managing the computer system hardware and software resources and the entire computer workflow, coordination between system components, systems and users Between the user and the user relationship. With the continuous emergence of the new technology of the operating system, the function is increasing. The operating system as a standard suite of software must meet the needs of as many users as possible, so the system is constantly expanding, the function is increasing, and gradually formed from the development tools to the system tools to the application software to a platform environment. More able to meet user needs. This paper mainly analyzes the core position and technological change of the computer in the development of the computer system, and makes a simple analysis and elaboration of the function, development and classification of the computer operating system, and makes a prediction of the future development trend of the computer.

系统工程-结合实例谈系统分析的步骤和方法要旨

结合实例谈系统分析的步骤和方法要旨 初识系统工程 在阐释系统分析的步骤和方法之前,我想,有必要说一说系统和系统工程的相关内容。 “系统”这个概念应该说是在人类认识客观世界的过程中,逐渐形成的一个系统概念,并且随着社会的进步和科技的发展,其概念也相应的不断变化。在网上各种百科辞典中搜索“系统”和“系统工程”,虽然各种解释可能不是完全一样的,但是所有的解释中都会提到“有组织”,“有规律”,“整体”,“综合体”等这些词语,因此可以给系统下一个更便于理解的定义:系统是具有一定功能的,相互之间既有有机联系的,游戏多要素或者构成部分组成的一个整体。从这个定义来看,现实生活中的种种事物似乎都属于系统的范畴,这是因为系统的概念本身就来自于多生活中事物规律的提炼和总结。从“系统”的定义就可以归纳出其具有的共同特性:一、层次性;二、整体性;三、集合性;四、相关性;五、目的性;六、环境适应性。这些特性根据“系统”的定义很容易理解,这也不是论文重心,不再赘述。 系统工程就是利用系统的概念和一些特殊的方法对被分析的对象进行分析,其目的就是为了使系统运行达到最优化;由此可以给“系统工程”下一个简单的定义:系统工程就是从系统的观点出发,跨学科

的考虑问题,运用工程的方法去研究和解决各种系统问题,以实现目标系统的综合最优化。虽然说系统的概念自古就有,但是利用系统工程去解决显示问题却出现的很晚,20世纪60年代美国的阿波罗登月计划,是利用系统工程解决实际问题的最早的典型例子,这个例子也是本文需要援用的实例。 系统分析简介 系统分析技术是系统工程的基础,是完成系统工程问题的中心环节,广义上认为系统分析即为系统工程,狭义上认为系统分析是系统工程的一项优化技术。在《美国大百科全书》中对于系统分析的解释如下:系统分析是研究相互影响的因素的组成和运用情况,其特点是完成的而不是零星的处理问题;它要求人们考虑各种主要的变化因素及其相互的影响,并要用科学和数学的方法对系统进行研究与应用。因此系统分析师进行系统研究帮助进行有效决策的一种方法,采用系统分析方法是最大的特点就是分析人员之需要对问题的综合和整体的认识,而可以忽略内部各种因素的相互关系。了解系统分析的特点是利用其进行解决问题的基础,系统分析的主要特点总结如下: 1.以系统整体最优为目标 2.强调系统要素之间的联系 3.寻求解决问题的方案是其主要目的

深入Linux,Unix系统引导过程

最近一直在专注的学习一样技术,主要就是Linux/Unix系统的引导过程,从最基本的机器加电一直到最终系统能够正确的使用为止,这个过程中涉及到了相当多的技术,以及各种技术的推陈出新,都在这个重要的过程中得以体现。我之所以对这部分进行了分析,主要是工作上面需要这方面的知识,同时觉得很有意思,所以广泛的深入研究了一下。 好了,废话不多说了,开始来点干货吧,本文并非全部原创,参考了一些文章,具体请查看“参考”部分。 深入Linux/Unix系统引导过程 Linux/Unix系统的引导过程包含了很多阶段,但是对于一个标准的系统的引导,大致的阶段是类似的,不同的平台会有一些不同之处(x86平台下主要使用LILO、SYSLINUX或是grub,SPARC平台下主要使用OBP作为loader)。在接下来的章节中,我将从系统加电开始直至Linux/Unix内核被正式加载运行。 1 概述 首先从高层的架构分析一下Linux/Unix引导流程,下面的图作为一种更加形象的说明,这样你可以从上次梗概的了解整个流程,为下面深入的分析打下基础。 从这张图中,总结一下大概的流程,分别是:系统启动、阶段1引导、阶段2引导、内核加载和用户态的初始化。在系统启动阶段主要用的技术包括BIOS(最新的发展为EFI),阶段1引导主要用的技术包括Master Boot Record(最近的发展为GPT),阶段2引导主要用的技术包括LILO、GRUB、SYSLINUX、GRUB2(x86平台下)和OBP(SPARC平台下)。这张图属于比较古老的一种介绍,在目前的技术发展下,每个阶段都有了一些变化。 这里。

2.2 EFI启动 与传统MBR相比,GPT采用了不同的分区方式。 对于传统MBR,其结构主要如下: 上图即对上文中所述的很形象的说明,在图中看到MBR被分成三个部分,分别是:Bootloader、分别表以及Magic Number。其中Bootloader部分为stage1中被执行的起始部分,程序在这里被作为GRUB程序执行,详细的关于GRUB的内容将再下面章节中进行详细阐述。 相反,对于EFI系统中所采用的GPT分区方式,则采用了不同于MBR分区方式的形式,从下图中可以发现:

多系统启动引导原理简介

多系统启动引导原理简介 多系统启动引导原理简介 大部分同学对多重系统引导原理的一知半解,我把我知道的简单介绍一下。 我先来介绍分区,从启动引导的角度讲,磁盘分区可以分为系统分区和引导分区。系统分区主要用于启动Windows系统,通常,系统分区总是C:\。而引导分区则是装有Windows操作系统的分区,即%SystemRoot%所在分区。 我们知道,主盘系统分区的第一个扇区中储存着系统的主引导记录,就是通常说的MBR区。它负责搜索磁盘上可启动的分区,然后把引导代码装入内存。对于DOS来说,MBR由Fdisk生成。主引导记录所在分区是系统分区,除此之外装有操作系统并能引导启动的分区是引导分区,引导分区的第一扇区储存着引导代码,用来引导本分区相应的操作系统。 下面我们来看下启动文件,Win98一般为: io.sys、msdos.sys、https://www.doczj.com/doc/d7237147.html,、config.sys、autoexec.bat。五个。其中最重要的是头三个,是启动必需要的。 Win2000/XP的启动文件:ntldr、https://www.doczj.com/doc/d7237147.html,、boot.ini、bootfont.bin、bootsect.dos、https://www.doczj.com/doc/d7237147.html,、ntbootdd.sys等。其中ntldr和https://www.doczj.com/doc/d7237147.html, 对于2000与XP共存的系统引导至关重要。 我简单介绍下各个文件的作用 ntldr,操作系统载入程序,位于系统分区根目录下。 boot.ini, 用于指定Windows的安装位置和磁盘属性。位于系统分区根目录下。bootfont.bin, 对非英文操作系统的启动菜单标题提供文字支持。不是必需的。bootsect.dos, 用于启动旧版操作系统所需要的引导扇区。 https://www.doczj.com/doc/d7237147.html,, 用于检测计算机的硬件配置信息,并将这些信息返回给ntldr。ntbootdd.sys, 当ATA技术被禁用或磁盘控制器是SCSI类型或磁盘控制器不支持扩展INT 13调用时,提供驱动支持。而不用通过BIOS来直接访问。不是必需的。 在含有98或更旧版的多重启动上,问题就复杂点,要由OS Loaer来引导启动。先来认识下OS Loaer,它是Windows自带的多操作系统引导管理工具。注意OS Loaer存在于引导分区第一扇区而非MBR,就是在98或更旧版本系统所在分区。而常见的几种引导工具软件如BootMagic和System Commander则位于MBR区。现在我们假设硬盘里装有98、2000、XP三个系统,那么系统启动时首先由BIOS 把MBR装入内存,并把控制权交给MBR引导启动,计算机搜索MBR中的分区表,找出活动分区,如果在引导分区中有OS Loaer时,主引导记录加载OS Loaer,由OS Loaer读取boot.ini文件,并出现启动选择菜单,如果用户选择启动Win98,那么就装载Bootsect.dos这个文件。Bootsect.dos文件是Win98引导扇区的镜像,位于系统分区根目录下。如果多个操作系统中没有9X或更旧版本的话,则该文件不会存在。如果选Win2000/WinXP,那么就装载Ntldr和https://www.doczj.com/doc/d7237147.html,,由Ntldr和Ntdetect引导启动Win2000/WinXP。(有必要说明一下,2000系统里的Ntldr和Ntdetect与XP里的Ntldr和Ntdetect是不同的,2000可由XP 的Ntldr和Ntdetect引导启动,反过来,2000里的Ntldr和Ntdetect却不能引导XP,这就是为什么在2000与XP共存的机里,重装了2000后不能引导XP 的原因。因为2000会用它的Ntldr和Ntdetect覆盖掉XP的) 呵呵我可能讲得有点啰嗦,不过大家看到这里也许明白我们在多系统环境下重装

计算机操作系统期末测试题及答案解析(两套)

操作系统期末试题1 一、单项选择题(每题2分,共20分) 1.在操作系统中,进程的最基本的特征是( A )。 A. 动态性和并发性 B.顺序性和可再现性 C.与程序的对应性 D.执行过程的封闭性 2.为了使系统中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合理搭配。这项工作是由( A )完成的。 A.作业调度 B. 进程调度 C.用户自己D.管理人员 3.虚拟存储器给用户提供了特大的地址空间。实际上它是( C )。 A. 扩大物理内存容量 B.扩大物理外存容量 C. 扩大逻辑内存容量 D.扩大逻辑外存容量 4.引入缓冲技术的主要目的是( C )。 A. 改善用户编程环境 B.提高CPU的处理速度 C.提高CPU与设备之间的并行程度 D.降低计算机的硬件成本 5.在微内核结构的现代操作系统中,进程( A )。 A. 只是资源分配的单位 B.只是调度运行的单位 C.既是资源分配的单位,又是调度运行的单位 D.失去作用 6. (A)没有多道程序设计的特点。 A.dos B.unix B.windows D.os/2 7. 下列四个操作系统中,是分时系统的为(C)。 A.cp/m B.ms-dos C.unix D.windows nt 8. 在分时系统中,时间片一定,(B),响应时间越长。 A.内存越多 B.用户数越多 C.后备队列 D.用户数越少 9. 用户要在程序一级获得系统帮助,必须通过(D)。 A.进程调度 B.作业调度 C.键盘命令 D.系统调用 10. 操作系统是一组(C)。 A.文件管理程序 B.中断处理程序 C.资源管理程序 D.设备管理程序 二、判断题(选择你认为正确的叙述划√,认为错误的划×并说明原因。每题2分,共10分)

对现代计算机操作系统的发展趋势精

对现代计算机操作系统的 发展趋势精 Newly compiled on November 23, 2020

现代计算机操作系统的发展趋势一、什么是操作系统操作系统(Operating System,简称OS是管理计算机硬件的软件。作为介于计算机用户和计算机硬件之间的中间层,操作系统为应用程序提供了基础,同时也是计算机系统的核心与基石。操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,计算机资源的利用效率更高,上层的应用程序可以获得比硬件提供的功能更多的支持。使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows2000、Netware等。二、操作系统的发展 1、大型机时代早期的操作系统非常多样化,生产商生产出针对各自硬件的系统。每一个操作系统都有不同的命令模式、操作过程和调试工具,即使它们来自同一个生产商。最能反映这一情况的是,厂家每生产一台新的机器都会配备一套操作系统。尽管这些机器在性能上有明显差异,但它们有统一的操作系统—— OS/360。 2、小型机和UNIX的崛起 UNIX操作系统是由AT&T公司开发出来的,后来成为开发小型操作系统的起点,并成为操作系统的典范。早期的操作系统是可以被用户所利用的功能的集合。60年代末70年代初,几种硬件支持相似的或提供端口的软件可在多种系统上运行早期的系统已经利用微程序来在它们的系统上实现功能。 3、个人计算机时代微型处理器的发展使计算机的应用普及至中小企业和个人爱好者。而计算机的普及又推动了硬件组件公共接口的发展,并逐渐地要求有一种“标准”的操作系统去控制它们。在早期,主要的操作系统是8080 CPU用的 CP/M-80,它建立在数家公司针对PDP-11架构的操作系统的基础上;在此基础上又产生了MS-DOS。这些计算机在ROM都有个小小的启动程序,可以把操作系统从磁盘装载到内存;IBM-PC系列的BIOS是这一思想的延伸。随着显示设备和处理器成本的降低,很多操作系统都开始提供图形用户界面。如:UNIX提供的 X Window系统、微软的Windows系统、苹果的Mac系统等。三、现代操作系统的发展(一)微内核操作系统对于一个操作系统而言,内核通常是系统中最核心的

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