热搜关键词: 信号与系统无刷电机ADSTCP/IP

pdf

Linux内核设计的艺术 图解Linux操作系统架构设计与实现原理

  • 1星
  • 日期: 2022-03-20
  • 大小: 42.36MB
  • 所需积分:1分
  • 下载次数:4
  • favicon收藏
  • rep举报
  • free评论
标签: linux

linux

目录

第1章 从开机加电到执行main函数之前的过程

1.1 启动BIOS,准备实模式下的中断向量表和中断服务程序

1.1.1 BIOS的启动原理

1.1.2 BIOS在内存中加载中断向量表和中断服务程序

1.2 加载操作系统内核程序并为保护模式做准备

1.2.1 加载第一部分代码—引导程序(bootsect)

1.2.2 加载第二部分代码—setup7

1.2.3 加载第三部分代码—system模块

1.3 开始向32位模式转变,为main函数的调用做准备

1.3.1 关中断并将system移动到内存地址起始位置0x00000

1.3.2 设置中断描述符表和全局描述符表

1.3.3 打开A20,实现32位寻址

1.3.4 为在保护模式下执行head.s做准备

1.3.5 head.s开始执行

1.4 本章小结

第2章 从main到怠速

2.1 开中断之前的准备工作

2.1.1 复制根设备号和硬盘参数表

2.1.2 物理内存规划格局

2.1.3 虚拟盘设置与初始化

2.1.4 内存管理结构mem_map初始化

2.1.5 异常处理类中断服务程序挂接

2.1.6 初始化块设备请求项结构

2.1.7 与建立人机交互界面相关的外设的中断服务程序挂接

2.1.8 开机启动时间设置

2.1.9 系统开始激活进程

2.1.10 进程相关事务初始化设置

2.1.11 时钟中断设置

2.1.12 系统调用服务程序挂接

2.1.13 初始化缓冲区管理结构

2.1.14 初始化硬盘

2.1.15 初始化软盘

2.1.16 开中断

2.2 进程创建的最基本动作

2.2.1 操作系统为进程0创建进程1做准备

2.2.2 在进程槽中为进程1  申请一个空闲位置并获取进程号

2.2.3 复制进程信息之前,先将一些数据压栈

2.2.4 初步设置进程1管理结构

2.2.5 进程0创建进程1的过程中发生时钟中断

2.2.6 从时钟中断返回

2.2.7 调整进程1管理结构

2.2.8 设置进程1的线性地址空间及物理页面

2.2.9 继续调整进程1管理结构

2.2.10 操作系统如何区分进程0和进程

2.2.11 进程0准备切换到进程

2.2.12 系统切换到进程1执行

2.3 加载根文件系统

2.3.1 进程1如何开始执行

2.3.2 进程1开始执行

2.3.3 进程1开始以数据块的形式操作硬盘

2.3.4 将找到的缓冲块与请求项挂接

2.3.5 将请求项与硬盘处理函数挂接

2.3.6 进行硬盘读盘前的准备工作

2.3.7 给硬盘下达读盘指令

2.3.8 进程1由于等待读盘操作挂起

2.3.9 系统切换到进程0执行

2.3.10 进程0的执行过程

2.3.11 进程0执行过程中发生硬盘中断

2.3.12 硬盘中断服务程序响应后,进程0继续执行

2.3.13 再次响应硬盘中断并唤醒进程

2.3.14 读盘操作完成后,进程1继续执行

2.3.15 进程1继续设置硬盘管理结构

2.3.16 进程1获取软盘超级块,为加载根文件系统做准备

2.3.17 进程1备份超级块数据

2.3.18 进程1将根文件系统从软盘拷贝到虚拟盘

2.3.19 进程1开始加载根文件系统

2.3.20 进程1准备加载根文件系统超级块

2.3.21 进程1加载根文件系统超级块

2.3.22 进程1继续加载根文件系统

2.3.23 进程1准备读取根目录i节点

2.3.24 进程1加载根目录i节点

2.3.25 进程1结束加载根文件系统的过程

2.4 打开终端设备文件及复制文件句柄

2.4.1 进程1与内核文件表挂接,为打开文件做准备

2.4.2 确定打开操作的起点

2.4.3 获得枝梢i节点—dev目录文件的i节点

2.4.4 确定dev目录文件i节点为枝梢i节点

2.4.5 继续返回枝梢i节点

2.4.6 查找tty0文件的i节点

2.4.7 将tty0设备文件的i节点返回给sys_open系统调用

2.4.8 分析tty0文件i节点

2.4.9 设置文件管理结构并返回给用户进程

2.4.10 进程1复制tty0文件句柄

2.4.11 进程1继续复制tty0文件句柄

2.5 创建进程

2.5.1 进程1准备创建进程

2.5.2 复制进程2管理结构并进行调整

2.5.3 设置进程2的页目录项并复制进程2的页表

2.5.4 调整进程2管理结构中与文件有关的内容

2.5.5 进程1执行过程中发生时钟中断

2.5.6 进程1从时钟中断返回,准备切换到进程

2.6 进程1等待进程2退出

2.6.1 进程1查找它自己的子进程

2.6.2 对进程2的状态进行处理

2.6.3 切换到进程2执行

2.7 shell程序的加载

2.7.1 进程2开始执行

2.7.2 为打开/etc/rc文件做准备

2.7.3 进程2打开“/etc/rc”配置文件

2.7.4 通过压栈为加载shell文件做准备

2.7.5 为参数和环境变量设置做准备

2.7.6 得到shell文件的i节点

2.7.7 为加载参数和环境变量做准备

2.7.8 根据i节点,对shell文件进行检测

2.7.9 检测shell文件头

2.7.10 备份文件头并进行分析

2.7.11 对shell文件进行进一步分析

2.7.12 拷贝参数和环境变量

2.7.13 调整进程2的管理结构

2.7.14 继续调整进程2管理结构

2.7.15 释放进程2继承的页面

2.7.16 检测协处理器

2.7.17 调整shell程序所在的线性空间地址

2.7.18 为shell程序准备参数和环境变量

2.7.19 继续调整进程2管理结构

2.7.20 调整EIP,使其指向shell程序入口地址

2.7.21 shell程序执行引发缺页中断

2.7.22 缺页中断中shell程序加载前的检测

2.7.23 为即将载入的内容申请页面

2.7.24 将shell程序载入新获得的页面

2.7.25 根据shell程序的情况,调整页面的内容

2.7.26 将线性地址空间与程序所在的物理页面对应

2.8 系统实现怠速

2.8.1 shell进程准备创建update进程

2.8.2 进程2开始执行/etc/rc文件

2.8.3 准备加载update进程

2.8.4 update进程的作用

2.8.5 shell程序检测“/etc/rc”文件

2.8.6 shell进程退出

2.8.7 shell进程退出善后处理

2.8.8 进程1清理shell进程管理结构

2.8.9 系统开始重建shell

2.8.10 shell进程为何不会再次退出

2.9 小结

第3章 安装文件系统

第4章 文件操作

第5章 用户进程与内存管理

第6章 多个进程“同时”操作一个文件

第7章 IPC问题

第8章 操作系统的设计指导思想

结束语

“新设计团队”简介

附录 搭建Linux  0.11系统环境

推荐帖子 最新更新时间:2022-05-18 13:40

GD32E103 eval可以用IAR编译
本帖最后由 ddllxxrr 于 2019-9-7 20:15 编辑 前些日子的GD大赛得了一块开发板。本人也是个MDK的老使用者了,自然用MDK打开,可是现象同: http://bbs.eeworld.com.cn/thread-1087534-1-1.html 的一样。我觉得FLASH算法,根本没选对,我试了下,KEIL5根本就不让装第三方的PACK。 于是我就用了IA
ddllxxrr GD32 MCU
求分解
Wait 1ms                MOVLW      61                              SUBWF      TMR0 ,W                                BTFSS       STATUS,C                               GOTO        Wait 1ms        
小白求科普 编程基础
模拟工程师电路设计指导手册--数据转换器
TI 模拟工程师电路设计指导手册--数据转换器,模拟工程师电路设计指导手册:数据转换器--第二版, 模拟工程师电路设计指导手册:数据转换器可提供模数转换器 (ADC) 和数模转换器 (DAC) 子电路设计理念,您可以快速 地借鉴这些理念来满足您的特定系统需求。每种电路都以“示例定义”的形式呈现。里面包括一些像食谱一样的分步式说 明,并且带有能帮助您改进电路从而满足您的设计目标的公式。此外,所
qwqwqw2088 模拟与混合信号
cadence无法预览及放置PCB封装
之前看了于博士的cadence教程,这几天打算用cadence画个stm32最小系统,,, 原理图通过了drc,并导出了网表, pcb editor里导入网表warning提示几个元件未找到对应的PCB封装,没有error,说明setup里的psmpath和padpath设置的没什么问题, 现在的问题在于:在place里打开的placement窗口中,能够看到未摆放的元件,但是选中后无法
Tobey PCB设计
关于lxde中dts的问题
我用的是 网站上提供的SOCKIT―lxde的img,里面提供了.rbf,.dtb和uImage这三个文件,但是这个系统在socfpga_cyclonev.dts 上只挂了vip,我现在想在轻型桥上加上其他的外设,例如led之类的,我就在网站上提供的那个gitclone的地址上重新编译了内核,自己在dts上加了led,然后编译了.dtb,但是我这么做了以后在hps端点灯的时候FPGA这边的灯一直不
lixinyang0208 Altera SoC
设计LED驱动电源的一些建议
LED驱动电源设计并不难,但一定要心中有数。只要做到调试前计算,调试时测量,调试后老化,相信谁都可以搞好LED。1、LED电流大小大家都知道LEDripple过大的话,LED寿命会受到影响,影响有多大,但目前没有具体的指标。2、芯片发热这主要针对内置电源调制器的高压驱动芯片,降低芯片的功耗,不要引入额外的功耗,做好散热。3、功率管发热关于这个问题,也见到过有人在论坛发过贴。功率管的功耗分成两部分,
qwqwqw2088 LED专区

评论

登录/注册

意见反馈

求资源

回顶部

热门活动

相关视频

可能感兴趣器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
×