操作系统实例
Linux特点 技术特点:具有Linux/UNIX的技术特征 ➢多任务:抢占式(preemptive)多任务(抢先式),每个程序都由机 会执行,直到操作系统抢占CPU为止。 ➢多用户 ➢可编程SHELL ➢设备的独立性(无关性):使用新设备时,只需要在系统中增加新的 连接(安装设备驱动程序),内核以相同的方式来使用它。 ➢通信与联网:类似Linux/UNIX,系统的网络功能强大
位移
含义
内容
1BEH
引导指示符
80H:可引导分区;00H:不可引导分区
1BFH
分区开始磁头号
1C0H
分区开始扇区号
1C1H
分区开始柱面号
1C2H
系统类型
00:未确定;04:DOS16 位 FAT;05:扩
展 ODS;06:保留(DOS 分区)
1C3H
分区结束磁头号
1C4H
分区结束扇区号
1C5H
分区结束柱面号
例:MOV AH,09 MOV DX,OFFSET dispstring INT 21H
Dispstring DB “HELLO!$”
中断的截获及应用,程序设计的方法
INT21H 取置中断向量功能调用
功能
入口参数
25H 置中断向量 AH=25H,AL=中断类型号
DS:DX=新的向量地址
35H 取中断向量 AH=35H,AL=中断类型号
引导扇区 FAT1
FAT2 FDT 文件区
E9H(EBH) OEM BPB 隐含字节数 引导程序
55 AA
数据结构的作用
保留区(引导区):BOOT 由引导记录和磁盘参数表(BPB 表)构成(硬盘的情况不同) jmp 指令:0~02H,3 字节(90H,NOP) OEM 版本号 03-0AH:8 字节 BPB 表 0B-1BH:16 字节,描述磁盘的物理特性,系统第一次 读盘时,首先取得此表确定磁盘规格。 引导程序:从 1EH 始,内容是检查磁盘目录的第一块是否有两 个系统文件 磁盘基数表(DISK-BASE):INT 1EH 指向的 BIOS 参数,包 括磁头加载,马达延迟时间,扇区之间的间隔长度的物理参数。 标志 FEH,FFH:55H,AAH
通过软盘引导和硬盘引导的差异:LILO
引导过程中先执行实模式下的setup()函数初始化硬件 和内核运行环境,再切换到保护模式下完成内核的解压 缩和系统初始化。
Linux/UNIX入门
用户的注册与注销
Linux的诞生和发展: 1991年23岁的芬兰赫尔辛基大学的Linus Torvalds 把他 的操作系统课程老师(Andrew Tannebaun)给出的示教实 验系统Minix扩展为Linux/UNIX兼容的独立的操作系统。 Linus当时的目的是在PC的平台上构建一个比Minix好,模 仿Linux/UNIX的系统。 1991年8月,Linus用汇编和C写出0.01版,不能支持软驱; 1991年10月Linus在Internet上正式发布0.02版。以后大量的 Hackers的共同努力,使Linux不断完善,到今天许多软件公 司都加入到Linux的开发中。
next4: nop
loop next4 ;延时
dec di
jnz next2
jmp next1 ;循环产生图形
exx: mov ax,4c00h
int 21h
main endp
disp proc near
mov ah,9
int 21h
ret
disp endp
LINUX简介
Linux:一个主要用于IBM PC及其兼容机上的多用户、 多任务的操作系统。它具有Linux/UNIX的所有特性,更 重要的是它是一个自由软件(人们可以自由地得到 LINUX的可执行程序和源代码)。
自由软件的特点 GNU(GNU’s Not Linux/UNIX):一项旨在使任何想获得软件的人都 可以得到软件的工程。其创始人Richard Stallman 是自由软件基金会 (FSF)的创始人。 GPL(General Public License )公共软件许可是对GUN软件提供版权 保护的手段。条件是作者提供源代码,可以收费,但不能只对软件中的 一部分收费。一般对GNU软件戏称为Copyleft。
转SYSINIT打开CONFIG.SYS作相应配置初始化设备驱动程序,修改设备链 ↓
打开五个常驻设备驱动程序 ↓
在可用内存低端建立PSP,加载,SYSINIT消失 ↓
检查有无AUTOEXEC.BAT,有则解释执行后显示提示符否则显示日期时间出现提示符
MBR和分区表(PT)
硬盘的主引导记录在硬盘的0磁头0柱面1扇区。主引导记录由三部分
操作系统实例
DOS的组成及工作过程
1.DOS的组成和基本工作流程 1.1 DOS的三个层次结构,各层的功能及相互关系 1) 层次结构:上层 shell层,中层kernel,下层bios(见下 页图).DOS的上述结构形式反映出操作系统的一般模式,即 层次的结构。 2) BIOS模块:(io.sys)包含与硬件有关的设备驱动程序 (CON、PRN、AUX、CLOCK、块设备);驻留和可安装 的区分两种设备驱动程序。由设备制造商提供。 3) DOS核:文件、内存等管理,联系上下的核心,真正意 义上的操作系统 4) 命 令 解 释 器 : 严 格 讲 并 非 操 作 系 统 的 一 部 分 。 用 户 可 CONFIG.SYS 中 用 SHELL 命 令 将 换 掉 (如:shell=c:\dos1\)
控制区:磁盘数据操作所需的控制信息,即 FAT ,FDT 文件区:实际存放文件数据的区域
偏移() 内容
00
每扇区字节数
02H
每蔟扇区数
03H
保留扇区数
05H
FAT 个数
06H
根目录项数
08H
总扇区数
0AH
磁盘介质
0BH
每 FAT 扇区数
0DH
每磁道扇区数
0FH
磁头数
数值(1.44M 软盘) 200H(512) 1 1 2 00E0H(224) 0B40H(2880) F0H 9 12H(18) 2
出口参数 ES:BX=取得的向量地址
应用程序更改系统原有中断,转而使用自己的中断是常见的技法。在具体应用 中应该注意的是更改系统原有中断之前,要保存好系统原有中断,并在适当的 时候予以恢复。 在中断服务子程序中应遵照中断服务程序的编写要求。
例:主程序在屏幕上输出字符,在自己的 INT23H 中检查输入选择,设置标志,截 获 INT23H(Ctrl-C)后,可以控制字符输出。
DOS的组成及工作过程
程序级接口 系统调用
中断调用
引导程序BOOT
用户级接口(命令)
shell kernel bio子层 bios子层 rom-bios
硬件
bios层
DOS的启动过程
加电或复位进入ROM-BIOS ↓
出错则停机,成功则进入INT19H ↓
组成:(1)主引导程序;(2)四个分区表;(3)主引导记录有效标志字。
MsDOS、Linux以及基于IA32平台的FreeBSD和OpenBSD等操作系统
都使用DOS分区体系 。
MBR 位移 1BE~1FDH 处用于指明硬盘划分情况的数据结构,含 4 个可能的
分区,每个分区占 16 个字节,由 FIDSK 建立。
DOS的中断机制
INT nH
n×4
中断向量表 入口地址
中断服务程序 m 中断服务程序 n
中断服务程序 k
DOS的程序级用户接口
◇ 软中断分三类:BIOS中断10H~1FH;DOS调用20H~2FH, 主要是INT21H即系统调用,有多个子功能;40H~FFH,自 由中断,根据需要设置。
◇系统调用、中断调用方法:写入口参数,AH中放子功能号, 写INTnH,根据出口参数操作返回信息。
Linux 的主要应用领域 ➢ 网络 Web 服务器、路由器、防火墙,使用 TCP/IP 协议,超强的内核稳定性 ➢ 桌面应用:具有大量的免费软件,包括 Linux 本身 ➢ 嵌入式操作系统(Embeded OS):这是 Linux 最具发展潜力的一方面。Linux 作为 EOS 的优点是:开放源码;内核小、效率高;价格低;支持多种 CPU;网络功能完整。已 经出现了不怕掉电,不怕死机的全部集成在 FLASH ROM 上的 EOS。
信号,如8259中断 内部硬件中断:由程序运行时引起的特定事件(CPU异
常) 0:被零除,1:单步,2:NMI,3:断点,4:溢出 软中断:由CPU执行中断指令产生的,特点:由软件引起, 调用核心功能,不受IF的控制,处理过程类似硬件中断 ◆向量中断方式,256个向量
中断向量:中断服务子程序的入口地址 中断向量表:DOS初始化时在0:0-0:3FFH处建立的数据结 构,与中断号nH关系为:n×4是中断向量表中中断向量的 偏移地址,256个向量共占用1K的内存
由io.sys的SYSINIT模块作初始化
DOS的启动过程
在50:70处建磁盘基数表,修改INT1EH ↓
初始化打印机,RS232C,修改硬件中断 ↓
SYSINIT到内存高端后读进msdos.sys ↓
内核内部表、工作区、INT20-27H初始化设备链检查,设备驱动程序初始化 ↓
建立磁盘I/O参数表、BUFFER和FCB,显示DOS版权 ↓
安装 Linux ➢ 获取软件 ➢ 备份数据 ➢ 制作引导盘 ➢ 分区硬盘(fdisk,cfdisk):swap 分区, native 分区 ➢ 配置系统 ➢ Xwindows 的安装 ➢ 文件系统的安装 ➢ 安装中问题
Linux的 引导过程
系统上电自检和读取磁盘引导扇区的过程和DOS启动 相同。
1C6H
分区相对扇区号