返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版] 穿越操系统迷雾从零实现操系统 作者:王柏生//王晟寒 机械工业 书 图书籍
  • 正版图书 品质保障
    • 作者: 王柏生,王晟寒著
    • 出版社: 机械工业出版社
    • 出版时间:2023-08
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    友一个图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品参数
    • 作者: 王柏生,王晟寒著
    • 出版社:机械工业出版社
    • 出版时间:2023-08
    • 页数:387
    • ISBN:9787976743126
    • 版权提供:机械工业出版社

             店铺公告

      为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。

    温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货),

    关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。

      本店存在书、古旧书、收藏书、二手书等特殊商品,因受采购成本限制,可能高于定价销售,明码标价,介意者勿拍!

    1.书籍因稀缺可能导致售价高于定价,图书实际定价参见下方详情内基本信息,请买家看清楚且明确后再拍,避免价格争议!

    2.店铺无纸质均开具电子,请联系客服开具电子版

     

    • 商品名称 穿越操作系统迷雾(从零实现操作系统)
    • 作者 王柏生//王晟寒
    • 责编 杨福川
    • 定价 99.00
    • ISBN号 9787111732884
    • 出版社 机械工业出版社
    • 版印次 1版 1次
    • 开本 16开
    • 装帧 平装
    • 页数 387
    • 出版时间 2023-09
    • 印刷时间 2023-09

    这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。

    作者在操作系统领域深度耕耘20余年,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。

    本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。

    全书一共14章,逻辑上分为上下两篇。

    上篇(第1~5章)计算机软硬件基础和原理:

    从计算机如何使用电进行计算开始,首先讲述了电是如何抽象为信息的,处理器是怎样进行运算的,内存是怎样存储信息的,处理器和内存是如何通过总线通信的,处理器是如何访问外设的,之后讲述了这些部件是如何结合起来运行程序的。然后通过使用机器语言编写一个程序,让读者深刻地理解指令和程序。接下来,结合汇编语言讲述了计算机体系结构。最后,从C编译器如何将C语法翻译为汇编语言的角度,聚焦语法后面的本质,让读者彻底地理解C语言,而不再纠结在语言表面的语法。

    下篇(第6~14章)从0到1实现一个操作系统:

    从系统引导(包含32位和64位)开始讲起,先后实现并阐述了内存管理、进程、中断和异常、进程调度、系统调用、进程间通信,最后实现了在显示器上的字符以及图形输出,并能接收键盘输入。除了从应用程序直接访问内核外,还展示了C库等概念,以及从应用软件到C库、图形库,最后到内核的完整软件栈。

    前言

    第1章 计算机基础

     1.1 认识电

     1.2 信息表示

     1.2.1 二进制

     1.2.2 十六进制

     1.3 计算

     1.3.1 逻辑运算

     1.3.2 逻辑门

     1.3.3 加法器

     1.4 内存

     1.4.1 物理实现

     1.4.2 数学抽象

     1.5 总线

     1.6 寄存器

     1.7 程序

     1.8 外存

     1.9 外设及接口

     1.9.1 I/O地址空间

     1.9.2 内存映射I/O

     1.10 地址空间

     1.11 数学模型到物理世界

    第2章 认识Linux

     2.1 什么是操作系统

     2.2 文件系统

     2.3 终端

     2.4 shell

     2.5 Linux常用命令

     2.6 ANSI转义序列

     2.7 编辑器

     2.8 准备“物理”计算机

    第3章 机器语言程序设计

     3.1 程序及指令

     3.2 补码

     3.3 ASCII码

     3.4 串口

     3.5 “向串口写字符A”的程序流程

     3.6 写外设指令

     3.7 准备源操作数

     3.8 准备目的操作数

     3.9 跳转指令

     3.10 创建程序文件

     3.11 程序执行过程

     3.12 使用kvmtool运行程序

    第4章 汇编语言程序设计

     4.1 初识汇编语言

     4.2 段及段寄存器

     4.3 指令指针寄存器

     4.4 通用寄存器

     4.5 标志寄存器

     4.6 汇编指令格式

     4.7 第一个汇编程序

     4.7.1 汇编和链接

     4.7.2 运行

     4.7.3 显式设置操作数的段寄存器

     4.7.4 伪指令.code16

     4.8 构建工具Make

     4.9 操作数寻址

     4.9.1 立即数寻址

     4.9.2 直接寻址

     4.9.3 ModR/M寻址

     4.9.4 SIB寻址

     4.9.5 SIB+disp寻址

     4.10 程序运行流程控制

     4.10.1 选择

     4.10.2 循环

     4.11 栈

     4.12 函数及x86调用约定

     4.12.1 call和ret指令

     4.12.2 栈帧

     4.12.3 多模块及符号可见性

     4.12.4 参数传递

     4.12.5 局部变量

     4.12.6 返回值及参数清理

     4.12.7 寄存器保存和恢复

     4.13 链接

     4.13.1 目标文件合并

     4.13.2 符号解析

     4.13.3 符号的可见性

    第5章 C语言程序设计

     5.1 基本语法

     5.1.1 词法元素

     5.1.2 表达式

     5.1.3 声明

     5.1.4 语句

     5.1.5 标识符

     5.1.6 对象的存储类别

     5.1.7 头文件

     5.1.8 预处理指令

     5.2 C语言入口

     5.3 第一个C程序

     5.4 从C语言到机器语言

     5.5 变量

     5.5.1 变量类型

     5.5.2 局部变量

     5.5.3 全局变量

     5.5.4 全局变量的链接性

     5.5.5 静态局部变量

     5.5.6 变量类型转换

     5.5.7 溢出

     5.6 运算

     5.6.1 算术运算

     5.6.2 递增和递减

     5.6.3 关系运算

     5.6.4 逻辑运算

     5.6.5 位运算

     5.6.6 赋值运算

     5.6.7 运算的优先级和结合性

     5.7 程序运行流程控制

     5.7.1 选择

     5.7.2 循环

     5.8 数组

     5.9 结构体

     5.9.1 基本语法

     5.9.2 内存布局

     5.9.3 位域

     5.10 指针

     5.10.1 基本语法

     5.10.2 指向结构体的指针

     5.10.3 指针的+/-运算

     5.10.4 双指针

     5.10.5 void指针

     5.10.6 空指针

     5.11 函数

     5.11.1 基本语法

     5.11.2 参数的值传递和指针传递

     5.11.3 const参数

     5.11.4 函数指针

     5.12 内联汇编

    第6章 32位引导过程

     6.1 实模式

     6.2 保护模式

     6.3 内核映像组成及布局

     6.3.1 实模式地址空间

     6.3.2 内核映像的布局

     6.3.3 内核映像文件组织

     6.4 创建保护模式的段描述符

     6.4.1 段描述符格式

     6.4.2 保护模式的内核代码段描述符

     6.4.3 保护模式的内核数据段描述符

     6.4.4 创建保护模式的段描述符表

     6.5 告知处理器段描述符表地址

     6.6 开启处理器保护模式

     6.7 跳转到内核保护模式部分

     6.7.1 准备保护模式部分

     6.7.2 跳转到保护模式部分

     6.8 编译及创建内核映像文件

     6.8.1 编译内核

     6.8.2 组装内核映像文件

     6.9 使用Make构建内核

    第7章 64位引导过程

     7.1 内存分页

     7.1.1 为什么要分页

     7.1.2 分页模式下的地址翻译过程

     7.1.3 程序的虚拟地址空间

     7.1.4 分页模式下的寻址

     7.1.5 页表

     7.2 64位模式下程序的虚拟地址空间

     7.3 创建64位模式的临时段描述符表

     7.3.1 代码段

     7.3.2 数据段

     7.3.3 为64位模式创建临时段描述符表

     7.4 建立内核映像的虚拟地址到物理地址的映射

     7.4.1 建立四级页表映射

     7.4.2 建立三级页表映射

     7.4.3 建立二级页表映射

     7.4.4 建立一级页表映射

     7.5 建立恒等映射

     7.6 切入64位模式

     7.6.1 使能PAE

     7.6.2 设置CR3指向页表

     7.6.3 使能64位模式

     7.6.4 开启分页

     7.6.5 跳转到64位部分

     7.7 走进内核64位部分

     7.7.1 创建64位模式段描述符表

     7.7.2 转换到内核地址空间

     7.7.3 构建内核64位部分

    第8章 内存管理

     8.1 获取内存信息

     8.1.1 BIOS简介

     8.1.2 读取内存信息

     8.1.3 E820的C数据结构表示

     8.1.4 计算物理内存大小

     8.1.5 print的实现

     8.1.6 使用Make内置函数提取文件

     8.1.7 创建Make中的文件依赖关系

     8.2 页面管理

     8.2.1 划分页面

     8.2.2 为内核映像保留页面

     8.2.3 分配页面

     8.2.4 归还页面

     8.3 映射物理内存

     8.3.1 线性映射

     8.3.2 第1阶段映射

     8.3.3 第2阶段映射

     8.4 内存块管理

     8.4.1 块管理数据组织

     8.4.2 分配内存块

     8.4.3 释放内存块

    第9章 进程

     9.1 程序运行环境

     9.2 创建应用程序

     9.3 创建任务结构体

     9.4 建立进程地址映射

     9.4.1 内核空间映射

     9.4.2 用户空间映射

     9.5 创建进程任务状态段及内核栈

     9.5.1 准备任务状态段及内核栈

     9.5.2 创建任务状态段的段描述符

     9.5.3 设置任务寄存器

     9.6 伪造中断现场

     9.7 设置CR3指向进程页表

     9.8 进入用户空间

     9.9 I/O端口访问权限控制

    第10章 中断和异常

     10.1 中断及其处理过程

     10.1.1 可编程中断控制器8259A

     10.1.2 高级可编程中断控制器APIC

     10.1.3 MSI

     10.2 初始化8259A

     10.3 组织中断描述符表

     10.3.1 初始化中断描述符表

     10.3.2 设置中断寄存器

     10.4 时钟中断

     10.4.1 时钟中断处理函数

     10.4.2 设置时钟中断描述符

     10.4.3 编程时钟芯片8254

     10.4.4 开启中断

     10.4.5 现场保存和恢复

     10.5 缺页异常

    第11章 进程调度

     11.1 任务状态

     11.2 创建进程

     11.3 空闲任务

     11.4 任务调度

     11.5 任务切换

    第12章 系统调用

     12.1 系统调用工作机制

     12.2 内核系统调用入口

     12.3 设置MSR寄存器

     12.4 实现系统调用sleep

     12.5 C库

     12.6 应用调用sleep挂起

    第13章 进程间通信

     13.1 共享内存原理

     13.2 内核共享内存实现

     13.3 C库实现共享内存接口

     13.4 应用使用共享内存通信

    第14章 显示及输入

     14.1 图形处理器

     14.2 文本模式和图形模式

     14.3 获取模式信息

     14.4 将framebuffer映射到用户空间

     14.5 应用获取模式信息

     14.6 设计字体

     14.7 图形库

     14.8 应用绘制

     14.9 键盘输入

    王柏生,资深技术专家,先后就职于中科院软件所、红旗Linux和百度,现任百度主任架构师。在操作系统、虚拟化技术、分布式系统、云计算、自动驾驶等相关领域耕耘多年,有着丰富的实践经验。

    著有书《深度探索Linux操作系统》(2013年出版)。

    王晟寒,对计算机技术有着浓厚的兴趣,9岁开始跟随爸爸学习编写操作系统,在爸爸的指导下,自己动手完成了本书操作系统的编写。5岁开始学习小提琴,现为学校交响乐团成员。业余时间热爱阅读,喜欢游泳、篮球等体育运动。

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购