北京交通大学2006-2007操作系统ppt.

上传人:我** 文档编号:117490977 上传时间:2019-12-05 格式:PPT 页数:140 大小:1.07MB
返回 下载 相关 举报
北京交通大学2006-2007操作系统ppt._第1页
第1页 / 共140页
北京交通大学2006-2007操作系统ppt._第2页
第2页 / 共140页
北京交通大学2006-2007操作系统ppt._第3页
第3页 / 共140页
北京交通大学2006-2007操作系统ppt._第4页
第4页 / 共140页
北京交通大学2006-2007操作系统ppt._第5页
第5页 / 共140页
点击查看更多>>
资源描述

《北京交通大学2006-2007操作系统ppt.》由会员分享,可在线阅读,更多相关《北京交通大学2006-2007操作系统ppt.(140页珍藏版)》请在金锄头文库上搜索。

1、主讲教师:翟高寿(副教授) 联系电话:010-51683610 (办) 电子邮件:gszhai 制作人:翟高寿 制作单位:北京交通大学计算机学院 操作系统 Date 1 北京交通大学计算机学院翟高寿 教学目标 全面、系统地介绍计算机操作 系统的体系结构、实现机理及 相关方法和技术,培养广大学 生在系统软件开发方面的理论 基础及技术素养。 Date 2 北京交通大学计算机学院翟高寿 主要相关课程 先修课程: 数据结构 接口技术、计算机组成原理 汇编语言程序设计 C语言程序设计 并行/后续课程: 计算机体系结构、操作系统实践 Date 3 北京交通大学计算机学院翟高寿 int count; cha

2、r buffer2048; fdOld = open(argv1, O_RDONLY); fdNew = creat(argv2, 0666); while (count = read(fdOld, buffer, sizeof(buffer) write(fdNew, buffer, count); exit(0); Date 53 北京交通大学计算机学院翟高寿 直接进行系统调用的前提准备 #define _LIBRARY_ #include _syscall3(long,open,const char*, filename, int, flags, int mode); _syscall3

3、(long,creat, const char*, filename, int, flags, int mode); _syscall3(ssize_t,read, unsigned,fd,char*,buf, size_t, count); _syscall3(ssize_t,write, unsigned,fd,char*,buf, size_t, count); _syscall1(int,exit, long, flag); 注意: 1、系统调用号_NR_zgs的分配在include/asm-i386/unistd.h 2、系统调用号与系统调用之间的联系建立在系统调用表中 ,即arch

4、/i386/kernel/entry.S中描述的sys_call_table Date 54 北京交通大学计算机学院翟高寿 系统调用的类型 q进程控制 进程的创建、结束、等待子进程结束 进程属性设置与获取 执行一个文件(进程映像替换) q文件操纵 文件的创建、打开、关闭、读/写 q进程通信 连接打开与关闭、消息发送与接收 q系统信息维护 时间设置与获取、文件访问/修改时间设置 Date 55 北京交通大学计算机学院翟高寿 系统调用的实现 n设置系统调用号和参数 系统调用号(指定寄存器/内存单元) 参数(直接寄存器 、间接参数表指针) qUNIX(CHMK命令)/DOS(INT21软中断) n系

5、统调用命令的一般性处理 将处理机状态由用户态转为系统态 保护CPU现场,将PSW、PC、系统调用号 、用户栈指针、通用寄存器等压入堆栈 用户定义参数送至指定位置 n分析系统调用类型,转相应处理子程序 q中断和陷入向量表(入口地址、PSW ) Date 56 北京交通大学计算机学院翟高寿 混合编程要领 q汇编语言源程序调用C函数模块 按逆向顺序把C函数模块参数压入栈中 call _CModuleName| jmp _CModuleName 清除先前压入栈中的C函数模块参数 qC语言程序嵌入汇编指令举例说明 #define _syscall1(type, name, atype, a) type

6、name(atype a) long _res; _asm_ volatile(“int $0x80“ :“=a“ (_res) :“0“ (_NR_#name), “b“ (long)(a); if (_res=0) return (type)_res; errno = -_res; return -1; Date 57 北京交通大学计算机学院翟高寿 1.3 操作系统用户接口 及系统调用实现 1.3.1 操作系统接口分类 1.3.2 联机命令接口 1.3.3 图形用户接口 1.3.4 系统调用 Date 58 北京交通大学计算机学院翟高寿 作业题 q1.3 试阐述程序接口与用户交互接口( 即

7、命令接口和图形化接口)之间的关系 ?并给出你对系统调用实现机制及处理 过程的完整理解与总结。 Date 59 北京交通大学计算机学院翟高寿 操作系统实践实验1 q编程和替换Linux命令解释程序Shell q自己选取和设计一组联机命令,可通过调用 系统内核过程加以实现或仅仅在屏幕上显示命 令自身(算是虚化实现),至少一条命令如文 件拷贝的处理牵涉到系统调用; q设计和构建命令解释程序并替换原Linux命令 解释程序Shell启动系统和运行测试; q撰写实验报告,阐述实验目的、实验目标、 实验步骤、技术难点及解决方案、关键数据结 构和算法流程、测试方案与过程及运行效果、 结论与体会等。 Date

8、 60 北京交通大学计算机学院翟高寿 第一章 操作系统引论 1.1 什么是操作系统 1.2 计算机体系结构及操作系统硬件基础 1.3 操作系统用户接口及系统调用实现 1.4 操作系统启动模块及自装入机制 1.5 操作系统的发展 1.6 操作系统的功能与特征 1.7 操作系统的结构设计 Date 61 北京交通大学计算机学院翟高寿 DOS系统结构 Date 62 北京交通大学计算机学院翟高寿 引导扇区与系统启动 q系统启动过程 机器加电 = BIOS加电自检(0FFFF: 0000)进行硬 件检测 = 读入启动盘引导扇区(0:0:1)512字节到内存 0000: 7C00处 = 检查内存0000

9、: 7DFE7DFF是否为 0x55AA = 跳转至0000: 7C00执行引导记录程序 q引导扇区 末两个字节为0x55AA q引导程序编制基础 开发工具GCC 引导代码必须编译成plain binary file类型且为512B gcc -c boot.c ld boot.o -o boot.bin -oformat binary -Ttext 0x100000 Linux载入位置 Date 63 北京交通大学计算机学院翟高寿 最简单的引导程序 q汇编程序代码MinBoot.asm hang: jmp hang times 510 ($ - $) db 0 dw 0xAA55H q程序汇编

10、 nasm MinBoot.asm -o MinBoot.bin q将二进制文件MinBoot.bin内容拷贝到引 导扇区 Date 64 北京交通大学计算机学院翟高寿 二次装载引导程序设计 q二次装载含义 由BIOS将引导记录载入内存执行 由引导记录将操作系统内核载入内存 q软驱复位与读取 BIOS之INT 13H功能调用 q字符串显示 BIOS之INT 10H功能调用 Date 65 北京交通大学计算机学院翟高寿 二次装载引导程序之引导程序设计 ORG 0 jmp 07C0h: start start: mov ax, cs mov ds, ax mov es, ax reset: mov

11、 ax, 0 mov dl, 0 int 13h jc reset read: mov ax, 1000h mov es, ax mov bx, 0 mov ah, 2 mov al, 5 mov ch, 0 mov cl, 2 mov dh, 0 mov dl, 0 int 13h jc read jmp 1000h:0000 times 510-($-$) db 0 dw 0xAA55h 软驱0:0:2起 五个扇区读 入到ES:BX Date 66 北京交通大学计算机学院翟高寿 二次装载引导程序之内核内核程序设计 ORG 0 jmp start2 msg db Kernal!, $0 st

12、art2: mov ax, cs mov ds, ax mov es, ax mov si, msg print: lodsb cmp al, 0 je hangup mov ah, 0Eh mov bx, 7 int 10h jmp print hangup: jmp hangup times 510-($-$) db 0 dw 0xAA55h DS:SI = AL Date 67 北京交通大学计算机学院翟高寿 操作系统实践实验2 q利用C和汇编混合编程实现最简操作系统 q实现二次装入引导过程; q以嵌入式汇编指令实现的C程序内核可非常 简单(注意可执行程序格式); q撰写实验报告,阐述实验

13、目的、实验目标、 实验步骤、技术难点及解决方案、关键数据结 构和算法流程、测试方案与过程及运行效果、 结论与体会等。 Date 68 北京交通大学计算机学院翟高寿 第一章 操作系统引论 1.1 什么是操作系统 1.2 计算机体系结构及操作系统硬件基础 1.3 操作系统用户接口及系统调用实现 1.4 操作系统启动模块及自装入机制 1.5 操作系统的发展 1.6 操作系统的功能与特征 1.7 操作系统的结构设计 Date 69 北京交通大学计算机学院翟高寿 1.5 操作系统的发展 1.5.1 推动操作系统发展的主要动力 1.5.2 无操作系统时的计算机系统 1.5.3 单道批处理系统 1.5.4

14、多道批处理系统 1.5.5 分时系统 1.5.6 实时系统 1.5.7 操作系统的进一步发展 Date 70 北京交通大学计算机学院翟高寿 推动操作系统发展的主要动力 q不断提高计算机资源利用率和系统 性能的需要 q改善和方便用户使用计算机的需要 q适应器件不断更新换代的需要 q适应计算机体系结构不断发展变化 的需要 Date 71 北京交通大学计算机学院翟高寿 1.5 操作系统的发展 1.5.1 推动操作系统发展的主要动力 1.5.2 无操作系统时的计算机系统 1.5.3 单道批处理系统 1.5.4 多道批处理系统 1.5.5 分时系统 1.5.6 实时系统 1.5.7 操作系统的进一步发展

15、 Date 72 北京交通大学计算机学院翟高寿 人工操作方式 q1946 50年代中期 q计算机资源昂贵、集中计算 q工作方式 用户:同时兼有程序员/操作员双重身份 输入输出:纸带或卡片 编程语言:机器语言 q工作特点 用户独占全部资源,资源利用率低 计算前后,CPU因等待人工操作而空闲 Date 73 北京交通大学计算机学院翟高寿 史前速度矛盾及缓和途径 q人机矛盾 人工操作方式与资源利用率之间的矛盾 伴随CPU速度提高、系统规模的扩大而日趋严 重 qCPU与I/O设备间矛盾 CPU速度迅速提高而I/O设备速度提高缓慢 q缓和途径 通道技术、中断技术、缓冲技术 脱机输入输出技术 专门的操作员

16、及批处理技术 Date 74 北京交通大学计算机学院翟高寿 脱机输入输出技术 输入设备 外围机 Input 磁带 主机 (处理机/内存) Output 磁带 外围机 Output 磁带 输出设备 Input 磁带 Date 75 北京交通大学计算机学院翟高寿 1.5 操作系统的发展 1.5.1 推动操作系统发展的主要动力 1.5.2 无操作系统时的计算机系统 1.5.3 单道批处理系统 1.5.4 多道批处理系统 1.5.5 分时系统 1.5.6 实时系统 1.5.7 操作系统的进一步发展 Date 76 北京交通大学计算机学院翟高寿 单道批处理系统 q为解决人机矛盾和CPU与I/O设备速率不 匹配的矛盾而形成,也即其旨在提高系统 资源的利用率和系统吞吐量 q把一批作业以脱机输入方式输入到磁带 上,并在系统所配置的监督程序的控制下 使这批作业能一个接一个地自动依次连续 处理

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号