词条 | 计算机操作系统实践教程 |
释义 | 黄廷辉作者。书本介绍操作系统是计算机系统的重要组成部分,实践是学习操作系统的最好途径。本书是一本与操作系统理论教材相配套的实践教材。全书主要介绍了GeekOS教学操作系统的设计原理和精心为学生设计的7个设计项目。 版权信息书 名: 计算机操作系统实践教程 作 者:黄廷辉 出版社: 清华大学出版社 出版时间: 2007 ISBN: 9787302148005 开本: 16 定价: 19.00 元 内容简介这7个项目涵盖了操作系统所有重要的原理和机制,通过这些项目的设计与实现,可以很好地帮助学生深入了解操作系统内核设计及其工作原理。本书共分为两部分:第一部分主要介绍GeekOS操作系统、课程设计环境的搭建以及一些重要的源文件的代码及注释;第二部分是对GeekOS项目设计的指导——内核编译运行、内核线程管理、用户级线程管理、进程调度算法、分页存储管理、文件系统设计和多用户文件系统访问控制等。本书既可以作为高等院校计算机相关专业操作系统课程的实践教材,也可以供相关专业的技术人员参考使用。 目录第1章 GeekOS教学操作系统概论 1.1 引言 1.2 GeekOS教学操作系统 1.2.1 GeekOS概述 1.2.2 GeekOS的存储器管理 1.2.3 GeekOS支持的设备 1.2.4 GeekOS的中断和线程 1.2.5 GeekOS系统引导和初始化 1.2.6 GeekOS系统源代码结构和设计项目 第2章 课程设计开发环境 2.1 Cygwin介绍 2.1.1 Cygwin简述 2.1.2 Cygwin安装与设置 2.1.3 Cygwin使用 2.2 安装Linux 2.2.1 安装虚拟机 2.2.2 在虚拟机上安装Linux 2.2.3 安装VMware Tools和实现文件共享 2.3 工具软件 2.3.1 GNU gcc编译器 2.3.2 NASM汇编器 2.3.3 GNU gdb调试器 2.4 Bochs PC 模拟器 2.4.1 Bochs安装和使用 2.4.2 在Bochs中运行GeekOS 第3章 make工具和makefile规则 3.1 makefile文件 3.1.1 makefile文件内容 3.1.2 makefile规则 3.1.3 makefile文件示例 3.1.4 make工作原理 3.1.5 makefile宏 3.1.6 make隐含规则 3.1.7 clean命令的应用 3.2 GeekOS的makefile文件 第4章 PC启动原理及GeekOS启动程序 4.1 PC启动原理 4.1.1 计算机系统启动 4.1.2 引导程序 4.1.3 内核程序导入 4.2 保护模式 4.2.1 保护模式 4.2.2 实模式和保护模式 4.2.3 进入保护模式 4.3 GeekOS启动程序分析 4.3.1 fd_boot.asm代码分析 4.3.2 setup.asm代码分析 4.3.3 lowlevel.asm代码分析 第5章 GeekOS进程管理 5.1 GeekOS进程状态及转换 5.2 GeekOS内核进程 5.2.1 内核进程控制块 5.2.2 GeekOS系统中最早的内核进程 5.2.3 内核进程对象 5.3 进程调度 5.3.1 内核进程切换 5.3.2 用户进程切换 5.3.3 GeekOS进程调度策略 5.4 内核进程主要操作函数 5.4.1 Init_Thread函数 5.4.2 Create_Thread函数 5.4.3 Destroy_Thread函数 5.4.4 Reap_Thread函数 5.4.5 Detach_Thread函数 5.4.6 Start_Kernel_Thread函数 5.4.7 Setup_Kernel_Thread 函数 5.4.8 Make_Runnable函数 5.4.9 Make_Runnable_Atomic函数 5.4.10 Get_Current函数 5.4.11 Get_Next_Runnable函数 5.4.12 Schedule函数 5.4.13 Join 函数 5.4.14 Lookup_Thread函数 5.4.15 Wait函数 5.4.16 Wake_Up函数 5.4.17 Wake_Up_One函数 5.4.18 Dump_All_Thread_List函数 第6章 GeekOS分页存储管理 6.1 存储器分页管理机制 6.2 线性地址到物理地址的转换 6.2.1 映射表结构 6.2.2 表项格式 6.2.3 线性地址到物理地址的转换 6.2.4 不存在的页表 6.2.5 页的共享 6.3 页级保护和虚拟存储器支持 6.3.1 页级保护 6.3.2 虚拟存储器技术 6.4 页故障 6.5 GeekOS分页系统数据结构 6.5.1 页目录表和页表项数据结构 6.5.2 物理页数据结构和页状态 6.6 GeekOS分页系统主要操作函数 6.6.1 Alloac_Page函数 6.6.2 Alloac_Pageable_Page函数 6.6.3 Find_Page_To_Page_Out函数 6.6.4 Free_Page函数 6.6.5 Page_Fault_Handler函数 6.6.6 Print_Fault_Info函数 第7章 GeekOS文件系统 7.1 GeekOS文件系统框架 7.2 虚拟文件系统层 7.3 高速缓冲区 7.4 PFAT文件系统 7.5 PFAT文件系统操作函数 7.5.1 Copy_Stat函数 7.5.2 PFAT_FStat函数 7.5.3 PFAT_Read函数 7.5.4 PFAT_Write函数 7.5.5 PFAT_Seek函数 7.5.6 PFAT_Read_Entry函数 7.5.7 PFAT_Lookup函数 7.5.8 Get_PFAT_File函数 7.5.9 PFAT_Open 函数 7.5.10 PFAT_Open_Directory函数 7.5.11 PFAT_Mount函数 7.5.12 Init_PFAT函数 7.5.13 Register_Filesystem函数 7.6 虚拟文件系统函数 7.6.1 Unpack_Path 函数 7.6.2 Lookup_Filesystem函数 7.6.3 Lookup_Mount_Point函数 7.6.4 Format函数 7.6.5 Mount函数 7.6.6 Open函数 7.6.7 Do_Open函数 7.6.8 Close函数 7.6.9 Read函数 7.6.10 Write函数 7.6.11 Seek函数 7.6.12 Create_Directory函数 7.6.13 Delete函数 第8章 GeekOS设计项目0 8.1 项目设计目的 8.2 项目设计要求 8.3 GeekOS键盘处理函数 8.4 项目设计提示 第9章 GeekOS设计项目1 9.1 项目设计目的 9.2 项目设计要求 9.3 ELF文件格式 9.3.1 可执行文件 9.3.2 ELF(可执行连接格式) 9.3.3 ELF Header 9.3.4 程序头部(Program Header) 9.3.5 节区头部表格(section header table) 9.4 用户可执行程序装入 9.5 项目设计提示 第10章 GeekOS设计项目2 10.1 项目设计目的 10.2 项目设计要求 10.3 项目设计提示 10.3.1 GeekOS的用户态进程 10.3.2 用户态进程空间 10.3.3 用户堆栈空间初始化 10.3.4 用户态进程创建 第11章 GeekOS设计项目3 11.1 项目设计目的 11.2 项目设计要求 11.3 项目设计提示 11.3.1 GeekOS进程调度处理过程 11.3.2 四级反馈队列调度策略实现 11.3.3 进程调度策略评价 11.3.4 GeekOS系统中的进程同步 第12章 GeekOS设计项目4 12.1 项目设计目的 12.2 项目设计要求 12.3 项目设计提示 12.3.1 为内核程序空间建立页表 12.3.2 为用户进程建立页表 12.3.3 请求分页技术实现 12.3.4 进程终止处理 12.3.5 系统完善处理 第13章 GeekOS设计项目5 13.1 项目设计目的 13.2 项目设计要求 13.3 项目设计提示 13.3.1 GOSFS磁盘格式 13.3.2 文件与目录 13.3.3 GOSFS文件系统数据结构和操作 参考文献 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。