#内存可见性问题 在主线程对变量的修改对于线程读取该变量是不可见的,线程读取的是本地内存缓存的变量值。 #如何解决共享变量可见性的问题 使用volatile变量,可以解决共享数据在多线程环境下可见性的问题。 使用volatile关键字修饰变量后,在生成汇编指令的时候,会生成一个lock指令。 思考l ...
分类:
其他好文 时间:
2020-06-14 12:39:00
阅读次数:
111
一.前置知识 正常触发系统调?时,?户态通过syscall指令触发系统调?, 跳转到系统调???的汇编代码。syscall指令触发entry_SYSCALL_64并以sysret或iret返回系统调? 系统调?陷?内核态,从?户态堆栈转换到内核态堆栈,然后把相应的CPU关键的现场栈顶寄存器、指令指针 ...
分类:
系统相关 时间:
2020-06-13 23:26:02
阅读次数:
87
一、实验环境 os: linux 虚拟机:QEMU 内核版本 5.3.4 调试方法:GDB fork系统的调用过程 fork函数的不同在于,os依照父进程的堆栈空间,复制了一份一模一样的堆栈空间给子进程,不过改变了子进程的进程号,所以子进程中也有一个fork函数,子进程从父进程fork后开始执行,子 ...
分类:
系统相关 时间:
2020-06-13 21:15:31
阅读次数:
80
段寄存器 8086 CPU有四个段寄存器: CS, DS, SS, ES 段寄存器用来提供段地址 CS和IP CS: 代码段寄存器 IP: 指令指针寄存器 修改CS,IP: jmp 段地址:偏移地址 仅修改IP的内容: jmp 某一合法寄存器 jmp ax 用ax中的值修改IP 下面的3条指令执行后 ...
分类:
编程语言 时间:
2020-06-13 00:33:38
阅读次数:
78
一、实验要求 结合中断上下文切换和进程上下文切换分析Linux内核一般执行过程 以fork和execve系统调用为例分析中断上下文的切换 分析execve系统调用中断上下文的特殊之处 分析fork子进程启动执行时进程上下文的特殊之处 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析L ...
分类:
系统相关 时间:
2020-06-11 21:45:52
阅读次数:
67
P1301_mykernel实验背后涉及的思想 P1402_利用mykernel实验模拟计算机硬件平台 P1501_C代码中嵌入汇编代码的写法 P1602_一个简单的操作系统内核源代码 P1703_运行这个精简的操作系统内核 P1801_Linux内核源代码 P1901_构造一个简单的Linux系统 ...
分类:
系统相关 时间:
2020-06-11 00:53:09
阅读次数:
95
Linux内核 核心知识全解析(完) 2/56 P101_什么是冯诺依曼体系结构? P201_X86 Registers P302_X86汇编指令一(mov指令及几种内存寻址方式) P403_X86汇编指令二(push、pop、call、ret) P504_分析几个汇编指令片段(一) P605_分析 ...
分类:
系统相关 时间:
2020-06-10 23:09:23
阅读次数:
238
题目:计算给定分段函数在不同输入时的取值。 要求:编制程序,计算下面函数值: 其中,从键盘输入x与y,输出数据为a。 输入输出时候都要求有提示信息。 考查知识点:分支结构的应用。 环境: 操作系统:Windows 10 Pro N for Workstation 模拟器:DosBox 0.74 编译 ...
分类:
其他好文 时间:
2020-06-10 22:47:09
阅读次数:
89
嵌入式编程 第1章 绪论 1.1 ARM介绍1 第一部分:ARM相关概念 0、为什么要推出ARM汇编 ? 0.1 对比X86,8051汇编,从更底层的角度去理解相关的知识的 ? 0.2 为后续嵌入式课程作准备(S3C2440,STM32F103,EXYNOS4412) ? 0.3 学习目标:了解AR ...
分类:
其他好文 时间:
2020-06-10 11:29:26
阅读次数:
89