当前位置: 首页 > news >正文

笔记 2 :linux 0.11 中的重要的全局变量 (a)

通过对全局变量的了解,也有助于了解整个代码的逻辑。就跟学习类一样,了解类有哪些成员变量,也有助于了解类的成员函数的功能。
以下介绍全局变量的顺序,符合这两本书的讲解顺序:

在这里插入图片描述

(1)内存初始化相关 static u_char mem_map [ PAGING_PAGES ] = { 0 , } .本数组对 1M 以外到 第 15M 的所有内存页进行编码映射,且都置为已占用,只对实际主内存对应的数组元素项清零,表示对应内存页空闲。 PAGING_PAGES = 3840 :

在这里插入图片描述

(2)读写块设备的请求 , struct request request [ NR_REQUEST ] ,实际的读写盘操作,并未执行,而是往此全局数组里填充了待操作的数据结构,待进程切换时,由内核进程进行实际的缓慢的块设备读写操作。

在这里插入图片描述

(3) 系统关于屏幕光标位置的记录:

在这里插入图片描述

( 4 ) 系统的开机时刻:

在这里插入图片描述

(5) 0 号进程启动前,内核代码运行时使用的栈空间(这里记录的意义在于我们也要关注 0 号进程使用的栈空间来自于哪里):

在这里插入图片描述

(6) 0 号进程的进程控制块的创建 ,全局变量,占据一页 4k ,起名叫 init_task ,其足够大,所以足以作为 0 号进程的栈:

在这里插入图片描述

(7) 出现在 c 语言源代码里的全局变量 : 页目录表 pg_dir 、 全局描述符表 gdt 、 全局中断描述符表 idt 的定义 :

在这里插入图片描述

(8) 0 号进程的 TSS 控制块的初始化内容:

在这里插入图片描述

(9) 这里介绍出现的新概念:会话与会话首领:

在这里插入图片描述

(10) 0 号进程的 TCB 块初始化:

在这里插入图片描述

(11) 接着给出 0 号进程的 LDT 的数据含义:

在这里插入图片描述

(12) 接着介绍几个全局变量 : 关于 TCB 任务控制块的 :

在这里插入图片描述

它们的定义如下:

在这里插入图片描述

(13) 因为 TCB 里出现了信号的定义,这里给出 sigaction 的定义 ( signal . h ):

在这里插入图片描述

(14) 解释下出现在 main () 函数里的 sched_init () 函数里的 加载 TSS 和 LDT 的宏定义,还以为是汇编指令呢:

在这里插入图片描述

(15)
谢谢

相关文章:

  • ARM架构(一)—— ARMV8V9基础概念
  • Java中常见的语法糖
  • 昇思25天学习打卡营第02天|张量 Tensor
  • Hive 常见问题
  • 超市管理系统 需求分析与设计 UML 方向
  • cesium 实现地图环境功能 - 雨,雪,雾特效
  • 【Pytorch】数据集的加载和处理(一)
  • lodash将对象转换成http参数
  • Matlab进阶绘图第63期—带标记线的三维填充折线图
  • InterSystems IRIS使用python pyodbc连接 windows环境,odbc驱动安装,DSN配置,数据源配置
  • 科技与狠活
  • elementui 日历组件el-calendar使用总结
  • GESP C++ 三级真题(2023年9月)T1 ⼩ 杨储蓄
  • Ceph资源池pool管理
  • 常用图像分类、目标检测模型性能测试
  • 03Go 类型总结
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Consul Config 使用Git做版本控制的实现
  • Effective Java 笔记(一)
  • exif信息对照
  • Node + FFmpeg 实现Canvas动画导出视频
  • PAT A1050
  • Redux系列x:源码分析
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Vue.js-Day01
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 复杂数据处理
  • 使用API自动生成工具优化前端工作流
  • 自动记录MySQL慢查询快照脚本
  • ​虚拟化系列介绍(十)
  • ​业务双活的数据切换思路设计(下)
  • #window11设置系统变量#
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (补充)IDEA项目结构
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (第二周)效能测试
  • (定时器/计数器)中断系统(详解与使用)
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三) diretfbrc详解
  • (十三)Flink SQL
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)EOS中账户、钱包和密钥的关系
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net core控制台应用程序初识