第一图书网

计算机操作系统实践教程

黄廷辉 清华大学
出版时间:

2007-5  

出版社:

清华大学  

作者:

黄廷辉  

页数:

174  

内容概要

  操作系统是计算机系统的重要组成部分,实践是学习操作系统的最好途径。本书是一本与操作系  统理论教材相配套的实践教材。全书主要介绍了GeekOS教学操作系统的设计原理和精心为学生设计的7个设计项目。这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 安装Linux2.2.1 安装虚拟机2.2.2 在虚拟机上安装Linux2.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设计项目08.1 项目设计目的8.2 项目设计要求8.3 GeekOS键盘处理函数8.4 项目设计提示第9章 GeekOS设计项目19.1 项目设计目的9.2 项目设计要求9.3 ELF文件格式9.3.1 可执行文件9.3.2 ELF(可执行连接格式)9.3.3 ELF Header9.3.4 程序头部(Program Header)9.3.5 节区头部表格(section header table)9.4 用户可执行程序装入9.5 项目设计提示第10章 GeekOS设计项目210.1 项目设计目的10.2 项目设计要求10.3 项目设计提示10.3.1 GeekOS的用户态进程10.3.2 用户态进程空间10.3.3 用户堆栈空间初始化10.3.4 用户态进程创建第11章 GeekOS设计项目311.1 项目设计目的11.2 项目设计要求11.3 项目设计提示11.3.1 GeekOS进程调度处理过程11.3.2 四级反馈队列调度策略实现11.3.3 进程调度策略评价11.3.4 GeekOS系统中的进程同步第12章 GeekOS设计项目412.1 项目设计目的12.2 项目设计要求12.3 项目设计提示12.3.1 为内核程序空间建立页表12.3.2 为用户进程建立页表12.3.3 请求分页技术实现12.3.4 进程终止处理12.3.5 系统完善处理第13章 GeekOS设计项目513.1 项目设计目的13.2 项目设计要求13.3 项目设计提示13.3.1 GOSFS磁盘格式13.3.2 文件与目录13.3.3 GOSFS文件系统数据结构和操作参考文献


图书封面

广告

下载页面


计算机操作系统实践教程 PDF格式下载



相关图书