出版社:清华大学出版社
年代:2007
定价:16.0
本书是操作系统课程实践教材,包括7个设计项目,帮助学生对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
第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文件系统数据结构和操作参考文献
操作系统是计算机系统的重要组成部分,实践是学习操作系统的最好途径。本书是一本与操作系统理论教材相配套的实践教材。全书主要介绍了GeekOS教学操作系统的设计原理和精心为学生设计的7个设计项目。这7个项目涵盖了操作系统所有重要的原理和机制,通过这些项目的设计与实现,可以很好地帮助学生深入了解操作系统内核设计及其工作原理。 本书共分为两部分:第一部分主要介绍GeekOS操作系统、课程设计环境的搭建以及一些重要的源文件的代码及注释;第二部分是对GeekOS项目设计的指导——内核编译运行、内核线程管理、用户级线程管理、进程调度算法、分页存储管理、文件系统设计和多用户文件系统访问控制等。 本书既可以作为高等院校计算机相关专业操作系统课程的实践教材,也可以供相关专业的技术人员参考使用。
书籍详细信息 | |||
书名 | 操作系统课程实践教材站内查询相似图书 | ||
丛书名 | 高等院校计算机实验与实践系列示范教材 | ||
9787302148005 《操作系统课程实践教材》pdf扫描版电子书已有网友提供下载资源链接 | |||
出版地 | 北京 | 出版单位 | 清华大学出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 16.0 | 语种 | 简体中文 |
尺寸 | 26 | 装帧 | 平装 |
页数 | 196 | 印数 | 4000 |
操作系统课程实践教材是清华大学出版社于2007.04出版的中图分类号为 TP316 的主题关于 操作系统-高等学校-教材 的书籍。