操作系统课件_Chapter6.ppt
《操作系统课件_Chapter6.ppt》由会员分享,可在线阅读,更多相关《操作系统课件_Chapter6.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系操作系统课统课程程讲义讲义操作系统设计与实现操作系统设计与实现操作系统的实现操作系统的实现主讲教师:史广顺 操作系操作系统课统课程程讲义讲义内容提要内容提要v 代码结构组织与数据结构定义代码结构组织与数据结构定义v专题专题1操作系统的启动过程操作系统的启动过程v专题专题2操作系统的进程管理操作系统的进程管理v专题专题3操作系统的设备管理操作系统的设备管理v专题专题4操作系统的内存管理操作系统的内存管理v专题专题5操作系统的文件管理操作系统的文件管理内容提要内容提要2操作系操作系统课统课程程讲义讲义代码结构组织代码结构组织代代码结码结构与数据构与数据结结构构Minix系统代码结构系统代码结
2、构头文件:头文件:usr/include源代码:源代码:usr/src无法归类的公共头文件无法归类的公共头文件Posix标准头文件:标准头文件:sys/操作系统头文件:操作系统头文件:minix/IBM PC头文件:头文件:ibm/系统核心代码:系统核心代码:kernel/内存管理器代码:内存管理器代码:mm/文件系统代码:文件系统代码:fs/库例程代码:库例程代码:lib/init源代码:源代码:tools/命令代码:命令代码:commands/网络源代码:网络源代码:inet/测试工具源代码:测试工具源代码:test/3操作系操作系统课统课程程讲义讲义代码结构组织代码结构组织代代码结码结构
3、与数据构与数据结结构构磁盘磁盘任务任务终端终端任务任务时钟时钟任务任务系统系统任务任务以太网以太网任务任务内存内存管理器管理器文件文件系统系统网络网络服务器服务器InitInit进程进程用户用户进程进程用户用户进程进程用户用户进程进程用户用户进程进程进程管理进程管理系统核心代码系统核心代码kernel/独立代码模块独立代码模块mm、fs.源代码源代码头文件头文件系统配系统配置定义置定义编译环编译环境定义境定义硬件环硬件环境定义境定义数据类数据类型定义型定义DS、接、接口定义口定义常量与常量与宏定义宏定义全局变全局变量定义量定义4操作系操作系统课统课程程讲义讲义头文件的定义与组织头文件的定义与组
4、织v头文件有哪些功能?头文件有哪些功能?功能功能1:定义数据结构、定义函数接口:定义数据结构、定义函数接口功能功能2:宏定义,例如常量、错误代码:宏定义,例如常量、错误代码功能功能3:设定编译开关,控制运行过程:设定编译开关,控制运行过程功能功能4:设定硬件开关,适应硬件环境:设定硬件开关,适应硬件环境功能功能5:设定配置开关,限定功能范围:设定配置开关,限定功能范围v头文件的用法举例头文件的用法举例代代码结码结构与数据构与数据结结构构5操作系操作系统课统课程程讲义讲义软件的体系结构观点软件的体系结构观点代代码结码结构与数据构与数据结结构构硬件底层环境硬件底层环境编译器环境编译器环境操作系统环
5、境操作系统环境现实应用环境现实应用环境程序内部控制流程程序内部控制流程完整的软完整的软件系统设件系统设计必须涵计必须涵盖从底层盖从底层至顶层的至顶层的完整流程,完整流程,以体系结以体系结构的思想构的思想面对软件面对软件研发研发适应适应CPU、堆栈、寄存器、堆栈、寄存器、I/O设备等硬件差别设备等硬件差别适应不同编译器的函数声适应不同编译器的函数声明与变量定义规范明与变量定义规范适应不同适应不同OS的实现差别,的实现差别,控制运行环境控制运行环境依据不同的条件选择不同依据不同的条件选择不同的运行流程的运行流程依据不同的需求控制系统依据不同的需求控制系统的功能和性能的功能和性能6操作系操作系统课统
6、课程程讲义讲义Minix的公共头文件组织的公共头文件组织v适应底层硬件环境适应底层硬件环境如何区别如何区别CPU的差别?的差别?v适应编译环境适应编译环境如何遵循如何遵循ANSI、POSIX等标准,适应不同编译环境?等标准,适应不同编译环境?v控制运行流程控制运行流程如何设定内部开关,控制有效范围和运行流程?如何设定内部开关,控制有效范围和运行流程?v适应应用环境适应应用环境如何实现可移植性,同时提供用户配置接口?如何实现可移植性,同时提供用户配置接口?v实现基本功能实现基本功能为保持系统运行稳定和性能卓越而进行的定义与实现为保持系统运行稳定和性能卓越而进行的定义与实现代代码结码结构与数据构与
7、数据结结构构7操作系操作系统课统课程程讲义讲义与硬件环境相关的头文件与硬件环境相关的头文件v针对针对CPU和设备驱动的宏定义和设备驱动的宏定义include/minix/config.h(2600行)行)v针对键盘布局、硬盘分区的头文件针对键盘布局、硬盘分区的头文件include/minix/keymap.h、partition.hv针对针对IBM硬件平台的专有头文件硬件平台的专有头文件include/ibm/diskparm.h,partition.h代代码结码结构与数据构与数据结结构构8操作系操作系统课统课程程讲义讲义与编译环境相关的头文件与编译环境相关的头文件v遵循遵循ANSI规范的头文
8、件规范的头文件include/ansi.h、stdlib.hv遵循遵循POSIX规范的头文件规范的头文件include/unistd.h、string.h、signal.h、fcntl.h、termios.hinclude/sys/types.h、ioctl.h、sigcontext.h、ptrace.h、stat.h、dir.h、wait.h代代码结码结构与数据构与数据结结构构9操作系操作系统课统课程程讲义讲义与与OS系统实现相关的头文件系统实现相关的头文件v基本数据类型与系统限制基本数据类型与系统限制include/limits.h,errno.hv系统实现所需头文件系统实现所需头文件in
9、clude/a.out.h可执行文件格式可执行文件格式v系统相关的数据类型和内部调用系统相关的数据类型和内部调用include/minix/const.h、type.h、syslib.h、callnr.h、com.h、boot.h代代码结码结构与数据构与数据结结构构10操作系操作系统课统课程程讲义讲义头文件的组织方法头文件的组织方法v分类保存头文件分类保存头文件include/:最基本的公共头文件(不依赖软硬件环境):最基本的公共头文件(不依赖软硬件环境)include/sys:遵循系统规范的头文件(:遵循系统规范的头文件(Posix规范)规范)include/minix:实现系统内部功能的头
10、文件:实现系统内部功能的头文件include/ibm:针对特定硬件平台的头文件:针对特定硬件平台的头文件v头文件分类组织思想的讨论与反思头文件分类组织思想的讨论与反思分目录保存头文件,保持系统结构清晰,便于引用分目录保存头文件,保持系统结构清晰,便于引用分类别定义头文件,便于代码维护和扩展分类别定义头文件,便于代码维护和扩展对复杂系统而言,头文件的组织和定义是第一个难题对复杂系统而言,头文件的组织和定义是第一个难题代代码结码结构与数据构与数据结结构构11操作系操作系统课统课程程讲义讲义头文件中的玄机探密头文件中的玄机探密v预编译选项的应用预编译选项的应用实现自定义的系统配置(分析与举例)实现自
11、定义的系统配置(分析与举例)与编译器相互结合,实现外部环境侦测(分析与举例)与编译器相互结合,实现外部环境侦测(分析与举例)实现功能的扩展与限制(分析与举例,实现功能的扩展与限制(分析与举例,termios.h)组合形成的复杂应用(组合形成的复杂应用(Minix中的中的Error code定义举例)定义举例)v头文件的实现规范头文件的实现规范防止重复引用的错误(分析与举例,防止重复引用的错误(分析与举例,const.h分析)分析)支持不同语言的结合(分析与举例)支持不同语言的结合(分析与举例)头文件的包含次序(分析与举例)头文件的包含次序(分析与举例)全局变量的定义与实现(全局变量的定义与实现
12、(Table.c分析)分析)代代码结码结构与数据构与数据结结构构12操作系操作系统课统课程程讲义讲义内容提要内容提要v代码结构组织与数据结构定义代码结构组织与数据结构定义v专题专题1操作系统的启动过程操作系统的启动过程v专题专题2操作系统的进程管理操作系统的进程管理v专题专题3操作系统的设备管理操作系统的设备管理v专题专题4操作系统的内存管理操作系统的内存管理v专题专题5操作系统的文件管理操作系统的文件管理内容提要内容提要13操作系操作系统课统课程程讲义讲义Minix的启动过程的启动过程操作系操作系统统的启的启动过动过程程ROM将引导扇区内容写入硬盘将引导扇区内容写入硬盘确定活动分区的引导扇区
13、确定活动分区的引导扇区将将Minix映象保存至内存映象保存至内存引导引导结束结束读磁盘读磁盘分区表分区表读引导扇读引导扇区内容区内容执行执行boot程序程序16位启动模式位启动模式(mpx88.s)32位启动模式位启动模式(mpx386.s)GDT与与IDT初始化初始化(cstart)Minix系统初始化系统初始化(main)Restart启动任务启动任务系统运行系统运行12系系统统引引导导过过程程系系统统启启动动过过程程14操作系操作系统课统课程程讲义讲义Minix的系统引导过程的系统引导过程v硬件启动的引导过程硬件启动的引导过程BIOS规范设定了对磁盘分区的要求,第一扇区为引导扇区规范设定
14、了对磁盘分区的要求,第一扇区为引导扇区操作系统遵循操作系统遵循BIOS规范,在引导扇区内保存系统引导程序规范,在引导扇区内保存系统引导程序BIOS程序自动寻找磁盘引导扇区,执行系统引导程序程序自动寻找磁盘引导扇区,执行系统引导程序系统引导程序读取引导选项,开始正常启动操作系统系统引导程序读取引导选项,开始正常启动操作系统v引导过程分析引导过程分析活跃分区、引导扇区、磁盘分区表的组织和使用活跃分区、引导扇区、磁盘分区表的组织和使用操作系统的安装过程:操作系统的安装过程:Minix中的中的Installboot程序程序操作系统的启动过程:操作系统的启动过程:Minix中的中的Boot程序程序引导过
15、程的参数设置与管理(举例:多系统引导是如何实现的?)引导过程的参数设置与管理(举例:多系统引导是如何实现的?)Minix:引导块为:引导块为1K,第二扇区保存引导选项,第二扇区保存引导选项Windows:Ntldr寻找寻找Boot.ini(遵循(遵循ARC规范),再确定引导内容规范),再确定引导内容操作系操作系统统的启的启动过动过程程15操作系操作系统课统课程程讲义讲义磁盘分区的组织与管理磁盘分区的组织与管理操作系操作系统统的启的启动过动过程程v未分区的磁盘未分区的磁盘第一扇区为引导扇区第一扇区为引导扇区由引导程序直接载入即可由引导程序直接载入即可v已分区磁盘已分区磁盘必须存在主分区,主分区必
16、须存在主分区,主分区的第一扇区保存的第一扇区保存MBRMBR中包含分区表,各个中包含分区表,各个分区第一扇区为引导扇区分区第一扇区为引导扇区从主分区一直读取到系统从主分区一直读取到系统所在分区的引导扇区所在分区的引导扇区Windows中的引导卷和系中的引导卷和系统卷区别统卷区别16操作系操作系统课统课程程讲义讲义Minix的系统初始化过程的系统初始化过程v操作系统与操作系统与CPU的兼容的兼容16位位/32位模式是位模式是CPU(微处理)的硬件规范(微处理)的硬件规范操作系统必须与操作系统必须与CPU的硬件规范兼容,因此针对的硬件规范兼容,因此针对16位位/32位存在不同的初始位存在不同的初始
17、化过程,执行初始化过程的程序被称为引导监控程序化过程,执行初始化过程的程序被称为引导监控程序初始化过程基本都是使用汇编语言,在适当的时候控制权转移高层程序初始化过程基本都是使用汇编语言,在适当的时候控制权转移高层程序Minix中的初始化代码:中的初始化代码:mpx.s(5800行)行)初始化过程都是首先按照初始化过程都是首先按照16位模式运行,在适当时候切换至位模式运行,在适当时候切换至32位模式位模式vMinix的系统初始化过程的系统初始化过程16位模式运行位模式运行切换至切换至32位(位(6051行)行)建立堆栈框架运行建立堆栈框架运行C程序程序定义存储器段(拷贝定义存储器段(拷贝CPU内
18、表格)内表格)CStart(初始化(初始化GDT和和IDT)填充寻址寄存器的初值(填充寻址寄存器的初值(6115行)行)激活激活GDT和和IDT执行高层系统初执行高层系统初始化(始化(6131行)行)Restart启动系统任务启动系统任务系统任务阻塞系统任务阻塞MM和和FS初始化初始化getty进程进程用户登陆用户登陆初始化过程的控制流程初始化过程的控制流程mpx88.smpx386.s(汇编(汇编CStart汇编汇编Main汇编汇编MM/FS用户)用户)操作系操作系统统的启的启动过动过程程17操作系操作系统课统课程程讲义讲义Minix的启动过程(的启动过程(Init进程)进程)操作系操作系统
19、统的启的启动过动过程程16位启动模式位启动模式(mpx88.s)32位模式入口位模式入口(6051行)行)建立堆栈、建立堆栈、定义存储器段和定义存储器段和处理器寄存器处理器寄存器执行执行CStart初始化寻址初始化寻址寄存器,并激活寄存器,并激活(6115行)行)执行系统初始化执行系统初始化(Main函数,函数,6131行)行)执行执行restart,开始系统任务开始系统任务(6822行)行)进程表中所有进程表中所有系统任务完成,系统任务完成,初始化初始化MM和和FS进程表中所有进程表中所有系统任务完成,系统任务完成,初始化初始化MM和和FS创建创建getty进程进程等待用户登陆等待用户登陆控
20、控制制转转移移控控制制转转移移控控制制转转移移控控制制转转移移控控制制转转移移控控制制转转移移控控制制转转移移18操作系操作系统课统课程程讲义讲义Minix系统初始化(系统初始化(Main)操作系操作系统统的启的启动过动过程程MAIN系统内存初始化系统内存初始化mem_init中断控制器初始化中断控制器初始化intr_init(1)进程表初始化进程表初始化6745行行restart运行运行系统任务初始化系统任务初始化6762行行v了解了解Main函数需要哪些知识函数需要哪些知识进程表、内存管理的数据结构进程表、内存管理的数据结构中断控制管理的结构与机制中断控制管理的结构与机制系统任务的类型、内
21、容系统任务的类型、内容进程表初始化的细节操作进程表初始化的细节操作系统任务启动的处理过程系统任务启动的处理过程v如何获取以上相关知识如何获取以上相关知识阅读头文件了解各类数据结构阅读头文件了解各类数据结构阅读被调用函数代码了解处理机制阅读被调用函数代码了解处理机制阅读处理代码了解初始化细节操作阅读处理代码了解初始化细节操作总结分析,理解系统初始化过程总结分析,理解系统初始化过程19操作系操作系统课统课程程讲义讲义进程、内存、系统任务结构定义进程、内存、系统任务结构定义vMinix中的进程结构中的进程结构kernelProc.h中定义,注意各个数据成员的含中定义,注意各个数据成员的含义。义。Pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课件 _Chapter6
限制150内