笔记 4 :linux 0.11 中继续分析 0 号进程创建一号进程的 fork () 函数

(27)本条目开始, 开始分析 copy_process () 函数,其又会调用别的函数,故先分析别的函数。 get_free_page () ;

先 介绍汇编指令 scasb :

以及 指令 sstosd :

在这里插入图片描述

以及 get_free_page 的源码注释:

在这里插入图片描述

(28) 接着介绍全局变量,指向当前进程的 task_struct 的指针 current :

在这里插入图片描述

(29) 接着介绍另一个全局变量 jiffies , 记录开机到现在的滴答数,每 10 ms :

在这里插入图片描述

(30) 接着介绍另一个函数 sched . h / get_limit ( 段选择子 ) , 返回选择子指定的段的段长度:

在这里插入图片描述

(31)再给出另一个函数 get_base ( 段描述符) 的源代码,计算段描述符中的基地址:

在这里插入图片描述

(32) 接着介绍生成 新进程的 TCB 中的 LDT 表中的描述符的函数 _set_base ( 描述符地址 , 段的基地址 ) :

在这里插入图片描述

(33)接着介绍页目录表和页表的属性位,这关系到为新进程创建页目录结构:

在这里插入图片描述
+
在这里插入图片描述

(34)
谢谢

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

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

相关文章

什么是架构设计师?定义、职责和任务,全方位解析需要具备的专业素质

目录 1. 架构设计师的定义 2. 架构设计师的职责和任务 2.1 系统架构设计 2.1.1 模块划分 2.1.2 接口设计 2.1.3 通信方式 2.2 技术选型与决策 2.2.1 技术评估 2.2.2 技术选型 2.2.3 技术决策 2.3 性能优化与调优 2.3.1 性能分析 2.3.2 性能优化 2.3.3 性能调优 …

基于BitMap的工作日间隔计算

背景问题 在我们实际开发过程中,时常会遇到日期的间隔计算,即计算多少工作日之后的日期,在不考虑法定节假日的情况下也不是那么复杂,毕竟周六、周日是相对固定的,Java语言也提供了丰富的类来处理此问题。 然而&#x…

MVVM和MVC的原理以及它们的区别

MVVM(Model-View-ViewModel)和 MVC(Model-View-Controller)是两种常见的前端架构模式,它们都旨在帮助组织和管理复杂的前端应用程序逻辑和视图层。 MVC(Model-View-Controller) 原理&#xff1…

视图库对接系列(GA-T 1400)十七、视图库对接系列(本级)采集设备获取

背景 这一章的话,我们写写如何获取采集设备获取,之前其实也有说过类似的 就我们订阅的时候如果subscribeDetail=3的话,下级就会主动给我们推送采集设备。但这里的话,是下级主动推,如果下级平台不支持,或者说可能因为某个原因推的不全,怎么办? 我们能否主动获取采集设备…

WPF学习(4) -- 数据模板

一、DataTemplate 在WPF(Windows Presentation Foundation)中,DataTemplate 用于定义数据的可视化呈现方式。它允许你自定义如何展示数据对象,从而实现更灵活和丰富的用户界面。DataTemplate 通常用于控件(如ListBox、…

知识图谱和 LLM:利用 Neo4j 实现大型语言模型

这是关于 Neo4j 的 NaLLM 项目的一篇博客文章。这个项目是为了探索、开发和展示这些 LLM 与 Neo4j 结合的实际用途。 2023 年,ChatGPT 等大型语言模型 (LLM) 因其理解和生成类似人类的文本的能力而风靡全球。它们能够适应不同的对话环境、回答各种主题的问题,甚至模拟创意写…

NSSCTF中24网安培训day1中web的题目

我flag呢 直接查看源代码即可CtrlU [SWPUCTF 2021 新生赛]Do_you_know_http 用Burpsuite抓包,之后在User-agent下面添加XFF头,即X-Forwarded-For:127.0.0.1 [SWPUCTF 2022 新生赛]funny_php 首先是php的弱比较,对于num参数,我们…

hot100 | 十一、二分搜索

1-leetcode35. 搜索插入位置 注意&#xff1a; 看Labuladong的书&#xff0c;知道while的判断符号跟left right的关系 public int searchInsert(int[] nums, int target) {int left 0;int right nums.length - 1;while (left < right) {int mid left (right - left) /…

AI如何引领个人潜力的深度挖掘

AI如何引领个人潜力的深度挖掘 人工智能&#xff08;AI&#xff09;不仅是一场技术革命&#xff0c;更是对人类自身能力的一次深刻反思。本文旨在探讨在AI时代下&#xff0c;个人如何挖掘并发挥自己的最大潜能&#xff0c;不仅在职场、教育领域找到新的定位&#xff0c;同时也…

PostgreSQL日志文件配置,记录所有操作记录

为了更详细的记录PostgreSQL 的运行日志&#xff0c;我们一般需要修改PostgreSQL 默认的配置文件&#xff0c;这里整理了一些常用的配置 修改配置文件 打开 PostgreSQL 配置文件 postgresql.conf。该文件通常位于 PostgreSQL 安装目录下的 data 文件夹中。 找到并修改以下配…

Python循环遍历:深入理解与实战应用

在Python编程中&#xff0c;循环遍历是一种基本且强大的控制流结构&#xff0c;它允许我们重复执行一段代码直到满足某个条件为止。无论是处理数据集合&#xff08;如列表、元组、字典、集合等&#xff09;&#xff0c;还是执行重复的任务&#xff0c;循环遍历都是不可或缺的工…

807.保持城市天际线

解题思路 首先找到四个主要方向&#xff08;东南西北&#xff09;的天际线情况。南北看是一样的&#xff0c;东西看也是一样的。所以统计出每行的最值&#xff0c;每列的最值&#xff0c;用一个n的数组存储。分别存储行和列的最值。最值的位置进行标记&#xff0c;然后对于其余…

【Qt 基础】绘图

画笔 QPen pen; pen.setWidth(3); // 线条宽度 pen.setColor(Qt::red);// 画笔颜色 pen.setStyle(Qt::DashLine);// 线条样式 pen.setCapStyle(Qt::RoundCap);// 线端样式 pen.setJoinStyle(Qt::BevelJoin);// 连接样式 painter.setPen(pen);线条 线端 连接 画刷 QBrush bru…

Spring容器详细介绍

Spring容器 1 Spring核心容器介绍 问题导入 问题&#xff1a;按照Bean名称获取Bean有什么弊端&#xff0c;按照Bean类型获取Bean有什么弊端&#xff1f; 1.1 创建容器 方式一&#xff1a;类路径加载配置文件 ApplicationContext ctx new ClassPathXmlApplicationContext…

复合类型的字节对齐

引子 #inlcude<stdio.h> struct s{int i;char a: }; struct s sVar {5,A}; int main(void){printf("%d\n",sizeof(sVar)); }问1&#xff1a;上面这个代码的输出结果是多少&#xff1f; 答1&#xff1a; 思考 明明sVar这个结构体就两个元素&#xff0c;5和…

什么是幂等?如何实现幂等?

一 定义 幂等性&#xff08;Idempotence&#xff09;是数学与计算机科学中的一个概念&#xff0c;它指的是一个操作、函数或方法被重复执行多次与仅执行一次的效果相同&#xff0c;或者说&#xff0c;其后续调用的结果不会改变之前调用的结果。 在计算机科学中&#xff0c;这个…

Spring Boot实战:无缝对接OpenAI

Spring Boot实战&#xff1a;无缝对接OpenAI 在当今的技术领域&#xff0c;人工智能&#xff08;AI&#xff09;已经成为一股不可忽视的力量。OpenAI作为其中的佼佼者&#xff0c;提供了强大的API供开发者使用&#xff0c;以实现各种AI功能。本文将详细介绍如何使用Spring Boo…

开闭原则 (Open/Closed Principle, OCP)

开闭原则 (Open/Closed Principle, OCP) 开闭原则&#xff08;Open/Closed Principle, OCP&#xff09;是面向对象设计的五大原则之一。它的基本思想是&#xff1a;软件实体&#xff08;类、模块、函数等&#xff09;应该对扩展开放&#xff0c;对修改关闭。即在不修改现有代码…

uniapp实现水印相机

uniapp实现水印相机-livePusher 水印相机 背景 前两天拿到了一个需求&#xff0c;要求在内部的oaApp中增加一个卫生检查模块&#xff0c;这个模块中的核心诉求就是要求拍照的照片添加水印。对于这个需求&#xff0c;我首先想到的是直接去插件市场&#xff0c;下一个水印相机…

多头注意力机制详解:多维度的深度学习利器

引言 多头注意力机制是对基础注意力机制的一种扩展&#xff0c;通过引入多个注意力头&#xff0c;每个头独立计算注意力&#xff0c;然后将结果拼接在一起进行线性变换。本文将详细介绍多头注意力机制的原理、应用以及具体实现。 原理 多头注意力机制的核心思想是通过多个注…