内核结构 内核分为四个部分,分别是初始化代码,内核代码,内核数据段和公共例程段,主引导程序也是初始化代码的组成部分。 初始化代码用于从BIOS那里接管处理器和计算机硬件的控制权,安装最基本的段描述符,初始化最初的执行环境。然后,从硬盘上读取和加载内核的剩余部分,创建组成内核的各个内存段。 内核的代码 ...
分类:
其他好文 时间:
2020-03-30 18:00:37
阅读次数:
67
规范化能更好的控制程序结构,让程序具有更高的可读性。项目目录结构"其实也是属于"可读性和可维护性"的范畴,我们设计一个层次清晰的目录结构,就是为了达到以下两点:可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这... ...
分类:
编程语言 时间:
2020-03-29 21:05:09
阅读次数:
91
OO_Unit2——电梯模拟 1 程序结构分析 1.1 Task1——单部多线程可捎带电梯 基本思路: 前言:其实不只是程序员,事实上每一个等电梯的人,在看着楼层显示屏中的数字离自己越来越近时,都至少有那么一刻会不自觉的与电梯设计者进行一次思想的交互,会站在设计者的角度来想象、模拟电梯的运行策略算法 ...
分类:
其他好文 时间:
2020-03-29 01:42:23
阅读次数:
87
汇编语言源程序的中的语句分为两大类:指令性语句和指示性语句 指令性就是能够被CPU执行的语句;指示性就是不被CPU执行的指令,不能生成目标代码,又称为伪操作语句或伪指令。 操作数可以是寄存器或存储器或数据段。数据段可以是常量,表达式,变量,标号。 标号代表存放一条指令的存储单元的符号地址,后面必须加 ...
分类:
编程语言 时间:
2020-03-27 21:13:44
阅读次数:
448
0x00 32位程序的PE结构 DOS头 nt头 = PE标识 + 文件头 + 扩展头 文件头 扩展头,文件头中的SizeOfOptionalHeader指定了扩展头的大小。 0x01 一份用c实现的代码段起始地址获取 + 读取dos头,获得nt头的偏移A + 文件头的偏移为A+sizeof(DWO ...
分类:
其他好文 时间:
2020-03-26 09:27:07
阅读次数:
82
一、进程与线程之间的区别 (1)进程是拥有资源的最小单位;线程是拥有调度的最小单位; (2)进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵 (3)线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远 ...
分类:
其他好文 时间:
2020-03-24 15:52:24
阅读次数:
48
1、基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。 2、常见的基本数据类型: Numbe ...
分类:
其他好文 时间:
2020-03-23 20:18:24
阅读次数:
68
Lab1:Part 2 The Boot Loader PC的软盘和硬盘分为多个512个字节大小的的区域,称为扇区。 扇区是磁盘的最小传输单位:每个读或写操作必须是一个或多个扇区,并且必须在扇区边界上开始。 如果磁盘是可引导的,则第一个扇区称为引导扇区,因为这是引导加载程序代码所在的位置。 当BIO ...
分类:
其他好文 时间:
2020-03-23 20:16:42
阅读次数:
70
二、C#基础语法 2.1.C#程序结构 1)程序结构 namespace { class { static void Main(string[ ] args) { } } } 2)工程结构 .Sln:解决方案文件 .csproj:项目文件 .cs:类文件 2.2.命名空间及标识符、关键字 1)命名空 ...
动态链接 程序中使用一些动态链接库里的函数,是在需要执行的时候再加载进内存(且只能加载进入数据段),进行地址解析(逻辑地址-->物理地址),这里就需要依托plt表和got表。 plt表:汇编后的调用指令 call xxx@plt,而plt表中存放jmp [xxx_got] got表:存放函数的真实地 ...
分类:
其他好文 时间:
2020-03-23 00:13:23
阅读次数:
64