微型计算机操作系统基础——基于Linux/i386(高等学校计算机专业教材精选·计算机原理

分類: 图书,计算机/网络,操作系统/系统开发,LINUX ,
作者: 任哲 等编著
出 版 社: 清华大学出版社
出版时间: 2008-7-1字数: 506000版次: 1页数: 318印刷时间: 2008/07/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302178002包装: 平装编辑推荐
本书特色:
◆ 突破了以往操作系统教材内容庞杂、体量巨大的缺陷,以实际应用为目标,以基于i386平台的Linux为实例,介绍操作系统的具体实现方法。
◆ 通过对i386处理器对操作系统支持的介绍,使读者加深对操作系统与硬件平台之间关系的理解。
◆ 鉴于Linux在嵌入式系统方面的突出表现,专门介绍嵌入式操作系统的基本概念和特点。
◆ 除介绍操作系统本身的概念和实现外,还依托它介绍数据结构、面向对象思想方法以及软件工程方法在工程实践中的应用,达到触类旁通的效果。
◆ 编写原则上以说理为主,以代码分析为辅,重在概念的阐述和剖析。
◆ 文字简练,层次清楚,满足不同水平读者的需要。
内容简介
本书以源码开放的Linux操作系统为背景,以其关键数据结构为切入点,介绍了微型计算机操作系统的基本概念、原理、设计思想、技术及实现方法。同时通过介绍i386处理器对操作系统的支持,使读者对操作系统与硬件平台之间的关系建立起一个基本概念。另外,鉴于嵌入式系统的兴起及Linux在这方面的突出表现,本书还用一章的篇幅专门介绍了嵌入式操作系统的基本概念和特点。
本书选材得当、概念清楚、文字通俗易懂,既可作为高等院校计算机科学及其相关专业的本科生教材,也可作为从事计算机工作的广大科技工作者学习操作系统基本理论和了解Linux技术的参考书。
目录
第1章 操作系统及Linux简介
1.1 概述
1.1.1 什么是计算机操作系统
1.1.2 操作系统的作用
1.1.3 操作系统的管理功能
1.1.4 操作系统管理用表
1.1.5 操作系统的应用程序接口
1.1.6 操作系统的特性
1.2 操作系统与应用程序的关系
1.3 操作系统结构
1.3.1 内核
1.3.2 内核结构
1.4 操作系统的演变与发展
1.4.1 人工操作阶段
1.4.2 管理程序阶段
1.4.3 多道程序设计与操作系统的形成
1.4.4 操作系统的发展
1.5 Linux基础知识
1.5.1 Linux的发展
1.5.2 Linux系统的结构
1.5.3 Linux系统的特点
1.5.4 Linux内核的版本号
1.5.5 Linux的一些商业版
1.5.6 Linux中的C语言
1.5.7 Linux中的汇编语言
1.5.8 Linux的链表
本章小结
习题
第2章 存储管理
2.1 存储管理的任务
2.1.1 存储管理目标
2.1.2 存储管理任务
2.2 存储空间组织
2.2.1 主存与辅存存储空间逻辑组织
2.2.2 存储空间分区
2.2.3 段分区实例--i386实模式下的存储管理
2.3 虚拟存储
2.3.1 实模式的问题及虚拟空间的概念
2.3.2 MMU和地址映射表
2.4 存储空间的页式管理
2.4.1 页、页框及页表
2.4.2 虚拟空间、物理空间和页表之间的关系
2.4.3 请页与交换
2.4.4 保护
2.4.5 页面共享
2.4.6 多级页表
2.4.7 快表
2.5 段及段管理
2.5.1 段的概念
2.5.2 i386对段管理的支持
2.5.3 段保护
2.5.4 i386处理器对分页的支持
2.6 Linux的页表
2.7 Linux程序虚拟空间5
2.7.1 Linux的用户虚拟空间
2.7.2 Linux的系统虚拟空间
2.8 Linux物理内存管理
2.8.1 Linux物理内存的布局
2.8.2 Linux物理内存数据结构
2.8.3 Linux对物理内存的分配与回收
2.8.4 交换空间与守护进程
2.9 slab分配模式简介
2.10 mmap函数简介
2.11 Linux内存管理模块总貌
2.12 Linux内存初始化
2.12.1 实模式下系统初始化的setup( )函数
2.12.2 保护模式下系统初始化的startup_32( )函数
2.12.3 内核启动函数start_kernel( )
本章小结
习题
第3章 进程
第4章 文件管理
第5章 进程互斥和同步
第6章 进程通信
第7章 中断/异常和系统调用
第8章 设备
第9章 嵌入式操作系统
附录A i386保护模式的特权级
附录B 进程控制块
附录C 创建子进程系统调用
附录D Linux守护进程介绍
附录E Linux的引导、装载和启动
附录F Linux Shell简介
参考文献
书摘插图
第2章 存储管理
2.4 存储空间的页式管理
2.4.3请页与交换
上面尽管把图2—16(略)所示的这个虚拟空间表比喻成了需求清单,但它属于一种订单性质的清单,系统并不马上按其要求为它分配物理页框。也就是说,当一个可执行程序文件被打开之初,页表的各个表项的内容仍然为NULL,而没有对应任何有效页框码,只有等到处理器真正用一个虚拟地址来访问一个虚拟空间时,系统才会为该虚拟空间的所有虚拟页分配物理页框。这就是现代操作系统的“即用即配”原则,以防止出现那种无效分配的现象,即系统事先根据订单为程序分配了空间,但到后来却因某种原因并没使用这个空间。
不仅如此,系统内存管理模块在整个的系统运行期间还要随着物理空间需求的不断变化,而不断地对原来的分配结果进行调整和更新,以使系统随时都处在最佳工作状态。其中最重要的工作就是应程序运行的需要,为虚拟页分配物理页框,以及把页面复制到物理页框中,这项工作叫做页面的加载或请页;而当系统空闲物理页框的数量不能满足新的需求时,还要在所有程序的页表中淘汰已不再使用或目前不再使用的页面,以腾出页框来容纳新的页面,这项工作叫做页交换。
但不管内存管理模块做什么操作,操作的最终结果都反映在程序页表上,所以可以这样说,内存管理的工作是以页表为中心而展开的。
1.请页
当处理器以逻辑地址访问一个虚拟页面时,MMU首先到页表中去查询该页的页面是否已存在于物理页框中,如果在,则MMU会把页框码与逻辑地址提供的页内偏移量拼接成物理地址去访问物理内存;如果不在,则意味着该页面还没有被载入内存,这时MMU就会以一个异常(页面错误)通知系统,系统调用异常处理程序调用相应的系统函数,该函数在判断了该虚拟地址是有效地址(即该虚拟地址指向的不是空洞)后,就从虚拟空间中将该地址指向的页面读人到内存中的一个空闲页框,并把页框码填写在页表的对应项中,最后处理器去访问该页框。
人们把MMU发现页面尚未在物理页框,而以一个页面错误异常请求系统调用软件来装载页面的行为称作“请页”,请页工作是由操作系统来完成的。
……