笔记 3 :linux 0.11 中的重要的全局变量 (b)

news2024/11/17 0:27:39

(15) 接着介绍缓冲区初始化,首先介绍一个全局量 end ,表示 源代码编译的终点,随后就是缓冲区:

在这里插入图片描述

上图里也介绍了关于缓冲区的其它几个全局变量。全局数组 hash_table 的位置肯定是在 end 以前定义的。end 后为随机数据缓冲区。

(16) 接着介绍缓冲区头部 buffer_head 这个结构体:

在这里插入图片描述

(17) 由于初始化了缓冲区后,得出操作系统指导的内存分布图:

在这里插入图片描述

(18) 接着介绍硬盘初始化时的全局变量与结构:

在这里插入图片描述

(19) 接着要使 0 号进程转到用户态。书中说:linux 操作系统规定,所有进程都要由已存在的进程在 3 特权级创建

在这里插入图片描述

给出 move_to_user_mode() 这个 宏定义的源码:

在这里插入图片描述

执行上面代码的时候 , CPU 里的重要的寄存器都已赋值 : GDTR 、 LDTR 、TR 、 IDTR 、 CR0 、 CR3 、 ESP 等。

(20) 接着是宏定义 sti () ,跟函数似的,而且 c 语言语法不直接支持汇编语句的书写:

在这里插入图片描述

(21) 接着介绍在 main 函数里是如何调用 fork ( ) 函数的,及全局变量 errno ,此值记录函数调用出错码 :

在这里插入图片描述

(22) 关于 fork() 函数,可以参考笔记 1 ,这里继续补充,这里记录下 全局函数指针数组 sys_call_table 的定义,及 typedef 的用法,可见这些函数都不能有参数:

在这里插入图片描述

以及测试 typedef 的补充例子:

在这里插入图片描述

以及确认函数类型:

在这里插入图片描述

(23) 继续分析 fork( ) 函数的执行过程及编译时候的符号链接:

在这里插入图片描述

(24) 再来看看 system_call 系统调用的定义,由以上分析知,系统足以在 int 80H 中断发生时,根据功能号来找到合适的子例程来执行:

在这里插入图片描述

(25)
谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1923344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法学习笔记(8.4)-完全背包问题

目录 Question: 图例: 动态规划思路 2 代码实现: 3 空间优化: 代码实现: 下面是0-1背包和完全背包具体的例题: 代码实现: 图例: 空间优化代码示例 Question: 给定n个物品…

Python数据分析案例51——基于K均值的客户聚类分析可视化

案例背景 本次案例带来的是最经典的K均值聚类,对客户进行划分类别的分析,其特点是丰富的可视化过程。这个经典的小案例用来学习或者课程作业在合适不过了。 数据介绍 数据集如下: 客户的编码,性别,年龄,年收入&#…

创建yum源、NFS共享存储

1. YUM源的提供方式 1.1 配置本地源仓库 cd /etc/yum.repos.d/ vim local.repo [local] // 仓库类别 namelocal // 仓库名称 baseurlfile:///mnt // 指定 URL 访问路径为光盘挂载目录 enabled1 …

UML建模案例分析-类图中的关系

概要 类图之间的关系比较多,绝大多数情况下重点关注的还是关联关系、组合、聚合这三种,最终是如何对应到代码上的。 例子 以订单为例:订单和订单项之间是组合关系,这和数据库实体之间不一样。数据库实体有主外键,开…

绘画平台小程序的设计

管理员账户功能包括:系统首页,个人中心,学生管理,讲师管理,课程类型管理,课程信息管理,课程购买管理,作业类型管理 开发系统:Windows 架构模式:SSM JDK版本&…

24/07/08数据结构(2.1203)顺序表实现

size属于结构体的作用域 如果要访问一个结构体的指针用-> 如果要访问一个结构体的变量用. 点操作 #include<stdio.h> #include<stdlib.h> #include<string.h> #include"seqlist.h" //typedef struct seqList{ // SLDataType* _data; //需…

SpringBoot3.3.0升级方案

本文介绍了由SpringBoot2升级到SpringBoot3.3.0升级方案&#xff0c;新版本的升级可以解决旧版本存在的部分漏洞问题。 一、jdk17下载安装 1、下载 官网下载地址 Java Archive Downloads - Java SE 17 Jdk17下载后&#xff0c;可不设置系统变量java_home&#xff0c;仅在id…

Leetcode 剑指 Offer II 086.分割回文串

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个字符串 s &#xff0c;请将 s 分割成一些子串&#xff0…

YOLOv10改进 | 特殊场景检测篇 | 单阶段盲真实图像去噪网络RIDNet辅助YOLOv10图像去噪(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是单阶段盲真实图像去噪网络RIDNet&#xff0c;RIDNet&#xff08;Real Image Denoising with Feature Attention&#xff09;是一个用于真实图像去噪的卷积神经网络&#xff08;CNN&#xff09;&#xff0c;旨在解决现有去噪方法在处理…

零信任作为解决方案,Hvv还能打进去么?

零信任平台由“中心组件服务”三大部分构成&#xff0c;以平台形式充分融合软件定义边界&#xff08;SDP&#xff09;、身份与访问管理&#xff08;IAM&#xff09;、微隔离 &#xff08;MSG&#xff09;的技术方案优势&#xff0c;通过关键技术的创新&#xff0c;实现最佳可信…

PointCloudLib LocalMaximum_DeleteMaxPoint C++版本

测试效果 简介 在点云库&#xff08;Point Cloud Library&#xff0c;PCL&#xff09;中&#xff0c;处理点云数据时&#xff0c;经常需要去除局部最大点&#xff08;Local Maximum&#xff09;&#xff0c;这通常用于去除噪声、提取特定形状的特征或者简化点云数据。局部最大…

python制作甘特图的基本知识(附Demo)

目录 前言1. matplotlib2. plotly 前言 甘特图是一种常见的项目管理工具&#xff0c;用于表示项目任务的时间进度 直观地看到项目的各个任务在时间上的分布和进度 常用的绘制甘特图的工具是 matplotlib 和 plotly 主要以Demo的形式展示 1. matplotlib 功能强大的绘图库&a…

江苏职教高考 计算机 C语言 复习资料

江苏职教高考计算机专业考试内容为 文化课专业课 其中专业课包含&#xff1a; 计算机原理45分 计算机组维45分 计算机网络60分 C语言 6080分 电子电工90分 具体资料可查看链接 链接&#xff1a;https://pan.baidu.com/s/1OXD-zK4V3NsLLDMwfXcTlA?pwd2822 提取码&…

风华绝代林徽因

林徽因 ◉ 卡西莫多 风华绝代林家女&#xff0c;呕心依护古胜迹 短暂一生半百余&#xff0c;忆念至今两甲子 山河有恙因她彩&#xff0c;窈窕淑女众倾慕 不只因她姿颜色&#xff0c;更因巾帼硬风骨 2024年7月12日

Anaconda+Pycharm 项目运行保姆级教程(附带视频)

最近很多小白在问如何用anacondapycharm运行一个深度学习项目&#xff0c;进行代码复现呢&#xff1f;于是写下这篇文章希望能浅浅起到一个指导作用。 附视频讲解地址&#xff1a;AnacondaPycharm项目运行实例_哔哩哔哩_bilibili 一、项目运行前的准备&#xff08;软件安装&…

【C++深入学习】类和对象(一)

欢迎来到HarperLee的学习笔记&#xff01; 博主主页传送门&#xff1a;HarperLee博客主页&#xff01; 欢迎各位大佬交流学习&#xff01; 本篇本章正式进入C的类和对象部分&#xff0c;本部分知识分为三小节。复习&#xff1a; 结构体复习–内存对齐编译和链接函数栈桢的创建…

如何用码上飞解决企微上真实需求来接单赚米

在企微的工作台中有一个「需求模块」&#xff0c;所有的企微用户都可以在上面提出自己的需求。 例如张三说“在企微上我怎么样才可以把一个客户发的语音&#xff0c;转给另一个客户听&#xff1f;” 李四说“我需要一个能每天在工作群里定时发布信息并能自动修改日期的功能。…

240713-Xinference模型下载、管理及测试

Step 1. 安装Xinference 安装 — Xinference Step 2. 下载模型 方式1: UI界面下载 命令行启动Xinference&#xff1a; xinference-local --host 0.0.0.0 --port 9997在localhost:9997中&#xff0c;通过左侧的Launch Model 配置并下载模型如果模型已下载或配置好&#xff…

好莱坞级别AI视频工具Odyssey亮相!AI世界动态回顾

好莱坞级别的视觉AI&#xff1a;Odyssey 首先&#xff0c;我们要提到的就是Odyssey——一款新晋AI视频工具&#xff0c;它以其好莱坞级别的视觉AI能力引起了广泛关注。奥德赛展示的一些片段令人印象深刻&#xff0c;包括精美的无人机镜头、风景画面以及专业级的B-roll素材。虽…

2024年公司电脑屏幕监控软件推荐|6款好用的屏幕监控软件盘点!

在当今的商业环境中&#xff0c;确保员工的工作效率和数据安全是每个企业管理者的重要任务。屏幕监控软件通过实时监控和记录员工的电脑活动&#xff0c;帮助企业有效地管理和优化工作流程。 1.固信软件 固信软件https://www.gooxion.com/ 主要特点&#xff1a; 实时屏幕监控…