摘要: man wait man waitpid 从中可知 函数原型 pid_t wait(int status); pid_t waitpid(pid_t pid, int status, int options); 函数说明 父进程创建子进程之后,父进程使用wait和waitpid具有监视子进程的运行状 阅读全文
posted @ 2019-11-10 13:47 20199303吕建文 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Linux如何启动并装载程序 理解编译链接的过程和ELF可执行文件格式 第一步:先编辑一个hello.c 第二步:生成预处理文件hello.cpp gcc E o hello.cpp hello.c m32 vi hello.cpp ( 第三步:编译成汇编代码hello.s gcc x cpp ou 阅读全文
posted @ 2019-11-10 11:02 20199303吕建文 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 进程的描述 1.进程概念 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。进程由程序段、数据段、PCB组成 2.PCB中的信息 ①进程标识符 ②处理机状态 ③进程调度信息 ④进程控制信息 3.PCB的组织方式 线性方式、链接方式、索引方式 4.进程的特征 动态性、并发性、独立性、异 阅读全文
posted @ 2019-11-02 23:01 20199303吕建文 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 系统调用的三层机制 首先是为系统增加新的命令 运行脚本自动生成文件系统 其中有一个显示时间的功能 编辑test.c文件,增加一个hello函数用来显示学号,再次使用make roofts自动编译,调用新增的函数 使用gdb跟踪系统调用内核函数sys_time 启动内核,水平分割shell,并使用gd 阅读全文
posted @ 2019-10-27 19:07 20199303吕建文 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 系统调用的三层机制 API:第一层是指Libc中定义的API,这些API封装了系统调用,使用int 0x80触发一个系统调用中断;当然,并非所有的API都使用了系统调用,如完成数学加减运算的API就没有使用系统调用;也有可能某个API使用了多个系统调用;这一层存在的价值就是为应用程序员提供易于使用的 阅读全文
posted @ 2019-10-20 18:53 20199303吕建文 阅读(141) 评论(1) 推荐(0) 编辑
摘要: 构造一个简单的Linux内核 Linux是一种开源电脑操作系统内核,它是一个用C语言写成。主要子系统: 1.系统调用接口 2.进程管理 3.内存管理 4.虚拟文件系统 qemu是一个开源模拟处理器,在实验中 cd LinuxKernel/ qemu kernel linux 3.18.6/arch/ 阅读全文
posted @ 2019-10-06 18:49 20199303吕建文 阅读(132) 评论(1) 推荐(0) 编辑
摘要: 操作系统是如何工作的 除了存储程序计算机和函数调用堆栈机制,还有一个非常基础的概念就是中断,这三个关键性的方法机制可以称作计算机的三个法宝:程序存储计算机、函数调用、中断 堆栈的作用:记录函数调用框架、传递函数参数、保存返回值地址、提供函数内部局部便量的存储空间。 堆栈相关的寄存器 ESP:堆栈指针 阅读全文
posted @ 2019-09-29 18:30 20199303吕建文 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 2019 2020 1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器 阅读全文
posted @ 2019-09-22 20:30 20199303吕建文 阅读(147) 评论(1) 推荐(0) 编辑
摘要: 2019 2020 1 20199303 《Linux内核原理分析》 第一周作业 1. 环境准备 在众多的Linux发行版中,Ubuntu,小红帽还有类Unix系统的BSD系统,我选择了目前比较流行的Ubuntu。Ubuntu的安装考虑了做双系统或者使用虚拟机安装,因为暂时没有性能需求且使用虚拟机的 阅读全文
posted @ 2019-09-15 19:23 20199303吕建文 阅读(194) 评论(1) 推荐(0) 编辑