购物车中还没有商品,赶紧选购吧!
ISBN:
操作系统原理、实现与实践
商品价格
降价通知
定价
手机购买
商品二维码
配送
上海市
服务
高教自营 发货并提供售后服务。
数量
库存   个

推荐商品

  • 商品详情
手机购买
商品二维码
加入购物车
价格:
数量:
库存   个

商品详情

商品名称:操作系统原理、实现与实践
物料号 :49245-00
重量:0.000千克
ISBN:9787040492453
出版社:高等教育出版社
出版年月:2018-06
作者:李治军 刘宏伟
定价:45.00
页码:364
装帧:平装
版次:1
字数:470
开本:16开
套装书:否

本书充分突出操作系统作为一个系统保证整体高速运转的理念,同时亦强调各个组成部分必须有机、协调地分工协作,旨在让读者能真正理解操作系统的整体运转原理。

本书从硬件管理这个基本功能出发,依次对操作系统的 CPU 管理、内存管理、外设管理、文件管理等进行了详细的阐述;从上层应用提供的接口出发,对系统接口设计、进程管理、文件接口等内容进行了详细阐述。在单独模块阐述的基础上,深入地阐述了这些模块之间的关系,即这些模块是如何合作成为一个整体系统的。

为避免单纯的原理阐述让读者感到空泛、浮于表面,同时加强操作系统原理和实现的有机融合,本书设计了 12 个实践项目,其中包括 8 个初级认知型实践项目和 4 个高级综合型实践项目,几乎涵盖了操作系统的全部内容。

本书可作为理工科本科生操作系统课程教材或参考书,也可供操作系统开发以及在操作系统上进行相关研究的人员参考。

前辅文
第一章 系统启动------ 打开电源以后发生的故事
  1.1 什么是操作系统
  1.2 操作系统历史概述
   1.2.1 简单的批处理系统
   1.2.2 OS/360 的出现
   1.2.3 UNIX、Linux 的诞生
   1.2.4 操作系统历史的另一个分支------ 人机交互
  1.3 操作系统核心轮廓
   1.3.1 多进程视图
   1.3.2 文件视图
   1.3.3 学习操作系统从动手实践开始
  1.4 操作系统启动过程
   1.4.1 计算机工作机理
   1.4.2 操作系统启动过程实例------ 第一阶段
   1.4.3 操作系统镜像的生成------ Makefile
   1.4.4 操作系统启动过程实例------ 第二阶段
   1.4.5 操作系统启动过程实例------ 第三阶段
   1.4.6 操作系统启动过程实例------ 第四阶段
  1.5 实践项目1: 控制操作系统启动
  习题一
第二章 系统接口------ 通向操作系统内核的大门
  2.1 用户使用计算机系统的基本形式
  2.2 基本系统调用及其应用
   2.2.1 fork、exec、wait、exit
   2.2.2 open、read、write
   2.2.3 printf、scanf
  2.3 系统调用的实现机理
   2.3.1 内核态与用户态
   2.3.2 系统调用与int 0x8
   2.3.3 printf 的完整故事
  2.4 通过系统调用窥见操作系统的基本脉络
  2.5 实践项目2: 添加系统调用
  习题二
第三章 多进程------ 操作系统最核心的视图
  3.1 如何使用CPU?
   3.1.1 CPU 工作机理与使用CPU 的直观想法
   3.1.2 问题的引出与并发
  3.2 进程概念与多进程视图
   3.2.1 进程与程序
   3.2.2 CPU 管理与多进程视图
  3.3 多进程引起的基本问题
   3.3.1 多个进程的组织与进程状态
   3.3.2 多个进程的切换和调度
   3.3.3 进程间的影响分离
   3.3.4 进程间的通信与合作
  3.4 实践项目3: 打印进程日志
  习题三
第四章 线程切换与调度------ 操作系统的发动机
  4.1 线程与进程
   4.1.1 线程概念的引入
   4.1.2 一个多线程实例
   4.1.3 线程与进程
  4.2 用户级线程的切换与创建
   4.2.1 用户级线程之间的切换
   4.2.2 用户级线程的创建
  4.3 内核级线程的切换与创建
   4.3.1 内核级线程的引出
   4.3.2 内核级线程之间的切换
   4.3.3 内核级线程的创建
  4.4 创建0 号/1 号进程------ 多进程视图的起点
  4.5 CPU 调度
   4.5.1 CPU 调度的含义与算法准则
   4.5.2 若干CPU 调度的基本算法
   4.5.3 多级反馈队列调度算法的一个具体实现
  4.6 实践项目4: 基于内核栈完成进程切换
  习题四
第五章 进程同步------ 让多个进程的推进合理有序
  5.1 进程同步问题与睡眠/唤醒
  5.2 从信号到信号量
   5.2.1 利用信号解决同步问题
   5.2.2 将信号扩展为信号量
   5.2.3 生产者-- 消费者同步问题的信号量解法
  5.3 临界区------ 对信号量的保护
   5.3.1 临界区的引出
   5.3.2 临界区的软件实现
   5.3.3 Lamport 面包店算法
   5.3.4 临界区的硬件实现
  5.4 信号量的实现与使用
   5.4.1 信号量的使用
   5.4.2 有正有负信号量的实现
   5.4.3 只有正数的信号量的实现
  5.5 死锁现象及死锁处理
   5.5.1 死锁现象的出现
   5.5.2 死锁出现的条件与死锁预防
   5.5.3 死锁避免
   5.5.4 死锁检测/恢复与死锁忽略
  5.6 实践项目5: 信号量的实现与应用
  习题五
第六章 内存管理------ 给程序执行提供一个舞台
  6.1 内存使用与程序重定位
   6.1.1 从取指--- 执行到内存使用
   6.1.2 程序重定位
  6.2 分段
   6.2.1 段的概念
   6.2.2 分段机制下的地址转换
  6.3 内存分区
   6.3.1 可变分区与适配算法
   6.3.2 内存碎片
  6.4 分页
   6.4.1 分页机制
   6.4.2 多级页表与快表
  6.5 段页式内存管理与虚拟内存
   6.5.1 如何将段和页结合在一起
   6.5.2 段、页结合时进程对内存的使用
   6.5.3 一个真实的段页式内存机制
   6.6 实践项目6: 地址映射与共享
  习题六
第七章 换入/换出------ 用磁盘和时间来换取一个规整的虚拟内存
  7.1 规整的虚拟内存
   7.1.1 虚拟内存与换入/换出
   7.1.2 请求调页
   7.1.3 页面调入的具体实现
  7.2 页面换出
   7.2.1 基本的页面换出算法
   7.2.2 LRU 算法的准确实现
   7.2.3 clock 算法
   7.2.4 页框个数分配与全局置换
  习题七
第八章 设备驱动------ 从文件视图到out 指令
  8.1 设备驱动的基本原理
   8.1.1 外设的工作原理
   8.1.2 文件视图
  8.2 显示器的驱动
   8.2.1 从printf 开始
   8.2.2 文件视图中的大量分支
   8.2.3 最终到达mov ax, [pos]
  8.3 键盘的驱动
   8.3.1 从键盘中断开始
   8.3.2 从缓冲队列最终到scanf
  8.4 实践项目7: 终端设备字符显示的控制
  习题八
第九章 文件系统------ 一个从磁盘到文件再到文件系统的漫长抽象
  9.1 磁盘工作的基本原理
   9.1.1 磁盘工作的原理
   9.1.2 磁盘工作的过程
   9.1.3 使用磁盘的直观方法
  9.2 生磁盘的使用
   9.2.1 第一层抽象: 从扇区到磁盘块请求
   9.2.2 第二层抽象: 多个进程产生的磁盘请求队列
   9.2.3 第三层抽象: 从磁盘请求到高速缓存
  9.3 基于文件的磁盘使用
   9.3.1 第四层抽象: 引出文件
   9.3.2 文件的实现
   9.3.3 第五层抽象: 将整个磁盘抽象成一个文件系统
   9.3.4 目录解析的代码实现
  9.4 实践项目8: proc 文件的实现
  习题九
第十章 大型实践项目一------ 内核级线程的设计与实现
  10.1 项目的主旨和基本任务
   10.1.1 项目主旨
   10.1.2 项目基本任务
  10.2 TCB 与PCB
  10.3 创建线程与创建进程
   10.3.1 对fork 的改造
   10.3.2 pthread_create 的实现机理分析
   10.3.3 pthread_create 中的用户栈创建
   10.3.4 pthread_create 处理start_routine 的参数
   10.3.5 内核级线程中的TCB 创建与内核栈创建
  10.4 以TCB 为单位进行CPU 调度
  10.5 引入TCB 以后的其他修改
   10.5.1 进程退出(exit)
   10.5.2 进程状态、时间片等内容的操作
  10.6 主线程与工作线程的设计与实现
  习题十
第十一章 大型实践项目二------ 虚拟内存与交换分区的设计与实现
  11.1 项目的主旨和基本任务
   11.1.1 项目主旨
   11.1.2 项目的基本任务
  11.2 交换分区的驱动
   11.2.1 给Bochs 增加一块硬盘
   11.2.2 交换分区的结构设计
   11.2.3 交换分区的初始化
  11.3 进程页面的换出
   11.3.1 clock 算法的设计
   11.3.2 页面环形链表的建立和维护
   11.3.3 扫描动作和换出动作的实现
   11.3.4 交换分区的写出
  11.4 进程页面的换入
  11.5 交换分区使用情况的监控
  习题十一
第十二章 大型实践项目三------ 鼠标驱动和简单的图形接口实现
  12.1 项目的主旨和基本任务
   12.1.1 项目主旨
   12.1.2 项目的基本任务
  12.2 鼠标的驱动
   12.2.1 鼠标中断的捕获
   12.2.2 键盘控制器i8042 和中断控制器8259A
   12.2.3 鼠标输入数据的解码
  12.3 显示器的图形工作模式
   12.3.1 启动图形模式
   12.3.2 建立像素点阵与显存之间的映射
   12.3.3 设置屏幕分辨率
   12.3.4 开始绘制屏幕
  12.4 消息驱动框架
  12.5 可视化应用程序的设计与实现
   12.5.1 定义图形对象
   12.5.2 创建一个定时器
   12.5.3 应用程序的核心结构
  习题十二
第十三章 大型实践项目四------ 网卡驱动与网络协议的设计与实现
  13.1 项目的主旨和基本任务
   13.1.1 项目主旨
   13.1.2 项目的基本任务
  13.2 网卡驱动
   13.2.1 给Bochs 安装网卡
   13.2.2 网卡驱动的基本原理
   13.2.3 读出网卡的MAC 地址
   13.2.4 网卡初始化
  13.3 ARP 协议的设计与实现
   13.3.1 ARP 协议的基本原理
   13.3.2 ARP 数据包以及以太网物理帧的形成
   13.3.3 利用网卡发送物理帧
   13.3.4 利用网卡接收物理帧
   13.3.5 ARP 数据包解析与ARP 缓存表
  13.4 ICMP 协议及ping 命令
   13.4.1 本项目涉及的协议栈结构
   13.4.2 ICMP 协议的设计与实现
   13.4.3 利用ICMP 协议实现ping 命令
  习题十三
参考文献

对比栏

1

您还可以继续添加

2

您还可以继续添加

3

您还可以继续添加

4

您还可以继续添加