1 / 22

计算机操作系统

计算机操作系统. 第一章 操作系统引论 第二章 作业界面管理 第三章 文件管理 第四章 存储管理 第五章 设备管理 第六章 进程及处理机管理 第七章 操作系统结构和程序实现. 第七章 操作系统结构和程序实现. 操作系统研制过程: 总体设计:制订设计原则和要求、功能设计和结构设计等方案论证 具体设计:程序框图、库程序和程访设计 调试:分块和分阶段实现 维护:建立或选用专门的维护程序. 操作系统的程序概念. 程序 = “ 算法 ” + 数据 程序是 “ 函数 ” 的集合 软件是程序的集合:程序模块的有机组合

uma-garza
Download Presentation

计算机操作系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机操作系统 • 第一章 操作系统引论 • 第二章 作业界面管理 • 第三章 文件管理 • 第四章 存储管理 • 第五章 设备管理 • 第六章 进程及处理机管理 • 第七章 操作系统结构和程序实现

  2. 第七章 操作系统结构和程序实现 • 操作系统研制过程: • 总体设计:制订设计原则和要求、功能设计和结构设计等方案论证 • 具体设计:程序框图、库程序和程访设计 • 调试:分块和分阶段实现 • 维护:建立或选用专门的维护程序

  3. 操作系统的程序概念 • 程序 = “算法”+ 数据 • 程序是“函数”的集合 • 软件是程序的集合:程序模块的有机组合 • 操作系统是最大型的系统软件 • 众多的应用软件是需要在操作系统基础上运行 • 现代软件需要优良的“包装” • 学习“操作系统”的“顶峰”是会编写操作系统

  4. 系统结构设计原则 • 性能完善,系统效率高 • 系统可靠性高 • 易于掌握:面对一般用户、系统管理员和程序开发人员 • 适应性要强:具有可扩充性和可移植性

  5. 结构方案 • 模块结构 • 层次结构 • 内核扩充结构 • 层次化核扩充结构 • 微内核层次化核扩充结构

  6. 模块接口法 • 一般用每一块实现一个简单的功能 • 实现各模块内部的简单功能比较容易 • 模块间相互依赖和“链接”很复杂 • 实现整个系统的总功能不太容易 • 调试和修改,牵动面很大

  7. 模块1 模块6 模块2 模块4 • 模块接口图 模块7 模块5 模块3 模块8

  8. 模块1 模块2 模块4 模块3 • 第五层 • 第四层 • 第三层 • 第二层 • 第一层 • (全序)层次结构图 模块7 模块5 模块6 模块9 模块8 模块10

  9. 模块1 • 第三层 • 第二层 • 第一层 • (半序)层次结构的“局部循环” 模块2 模块3 模块4 模块5

  10. 层次结构的设计方法: 自底向上法和自顶向下法 自底向上法 自顶向下法 操作命令 功能模块 功能模块 操作系统功能模块 机器硬件

  11. 用户 核扩充法 应用软件(第2层) 其他系统软件(第1层) 裸机 操作系统核心(第0层)

  12. 结构方式 系统效率 可靠性 适应性 易懂性 实现难度 • 模块结构 一般 低 差 易 容易 • 层次结构 较高 较好 一般 易 较难 • 内核 • 扩充结构 较高 较好 易扩充 较难 较难 • 微内核 • 扩充结构 高 好 强 难 较难

  13. UNIX版本7+(V6,III)内核源代码举例 • 1.进程初始化(main.c) • 2.陷井(trap指令)、中断、系统调用(sys)及进程管理 • 3.程序交换、基本I/O设备管理 • 4.文件、文件目录、文件系统(sys)及管道 • 5.面向字符的特殊文件 • 6.数据结构(*.h文件) • 7.附录 • 43个模块、源程序17650行程序代码(其中940行汇编指令)

  14. UNIX核心的进程初始化过程 • 0号块:(父进程)main.c、包含系统引导及其它 • 1号块:管理文件系统 • 2、3号块:i节点表,管理文件目录及其文件 • init • getty • login • /etc/passwd (用户登录名:口令域:用户号:用户组号:用户全名:目录:默认Shell) • Shell • 命令 执行 生成子进程执行,父进程sleep 执行完 唤醒

  15. DOS系统初始化过程 • 冷启动:系统加电,进入ROM BIOS 热启动:系统复位操作 • 对硬设备自检 • 显示出错或仃机 • INT 系统自举 • 读盘、检测系统 • DOS引导记录 • IBMBIO.COM初始化 • IBMDOS.COM初始化 • 显示DOS版本信息 • 执行SYSINT • 打开CONFIG.SYS安装 • COMMAND.COM • AUTOEXEC.BAT • 显示日期和时间,出命令提示符,等候用户输入命令 成功

  16. 操作系统的分层原则: • 1. 按程序的嵌套情况排成有序的层次; • 2. 把活动频繁的模块和为很多模块所公用的模块放在最低软件层,存储器管理模块设置在较低软件层; • 3. 为获得可移殖性和可适应性而设置的软件层,应分别放在较低的层次和最外层。 • 4. 在严格的层次结构中,只允许高层调用低层中的软件,决不允许低层调用高层的软件。在高层调用低层的软件时的方法: • (1) 高层仅能调用它下一层中的软件; • (2) 高层能调用所有低层的软件; • (3) 高层能部分地调用低层中的软件。

  17. 数据词典(按字母顺序) • 1. 系统过程(主程序,子程序等) • 2. 系统文件和过程(命令及系统调用) • 3. 符号及参量定义, • 例如 #define ………. • 4. 源代码交叉参考表 • 5. 压缩及补丁工具

  18. 可移植性编程技巧(1) • 1. *.h头文件(模块) • 2. 条件编译 • #define UNIX 1 • #define TOPS_20 0 • #define VAX_VMS 0 • #define IBM_UTS 0 • ………………………. • #if UNIX • case ‘b’ : if (argc) speed = ….. • case ‘c’ : image = TRUE; break • #endif /* UNIX */ • ………………………….

  19. 3. UNIX中工具软件 makemakefile(编译时间监控软件) • /usr/include/*.h • /usr/sys/makefile, conf.h, conf.h.all, conf.modul, confinfo, name.c, name.c.all, c.c, l.s, CURversion.c, version.ed, linesw.c, *.lib, unix.sym…………. • /unix,/nunix,/ounix,/vunix

  20. nunix: nlib1 nlib2 nlib3 nlib4 l.o c.no linesw.no name.no • ed CURversion.c < version.ed >/dev/null • cc -c CURversion.c • rm -f ../../nunix • ld -Y 4000 -pbxo ../../nunix CURversion.o l.o c.no linesw.no name.no • #touch nunix • #sync

  21. 4. 内核模块的增减(尤其是显示模块) • 5. 高级语言库函数、操作系统系统调用 • 6. BBS上交流 • 7. ………...

More Related