操作系统真象还原
文章平均质量分 94
摸爬滚打的CSer
这个作者很懒,什么都没留下…
展开
-
第十二章-系统调用
(1)在 syscall.h 中的结构 enum SYSCALL_NR 里添加新的子功能号。(2)在 syscall.c 中增加系统调用的用户接口。(3)在 syscall_init.c 中定义子功能处理函数并在 syscall_table 中注册。1.printf的原理是系统调用,那么必定涉及到中断嵌套,需要保护现场,影响中断响应速度2.printf系统调用的具体原理讲讲。vsprintf和write。原创 2023-10-11 19:22:15 · 139 阅读 · 0 评论 -
第十一章-用户进程
已经不使用LDT加载任务了。因为当前运行的任务,其 LDT 位于 LDTR 指向的地址,这样 CPU 才能从中拿到任务运行所需要的资源(指令和数据)。因此,每切换一个任务时,需要用 lldt 指令重新加载新任务的 LDT 到 LDTR。虽然介绍了 LDT,但咱们并不打算使用它,因为每加入一个任务都需要在 GDT 中添加新的 LDT 描述符,还要重新加载 LDTR,比较麻烦。原创 2023-10-11 19:20:30 · 168 阅读 · 0 评论 -
第十章-输入输出系统
一个键的状态要么是按下,要么是弹起,因此一个键便有两个编码,按键被按下时的编码叫通码,也就是表示按键上的触点接通了内部电路,使硬件产生了一个码,故通码也称为 makecode。根据键盘的更新迭代,出现了3种常用的键盘扫描码,为了兼容第一套键盘扫描码对应的中断处理程序,不管键盘用的是何种键盘扫描码,当键盘将扫描码发送到 8042 后,都由 8042 转换成第一套扫描码。线程自主阻塞之后,保存当前的寄存器,栈信息,当唤醒后,并不会从头开始执行,而是从线程阻塞的部分开始重新执行,并且时间片依旧是阻塞前的数值。原创 2023-10-11 14:03:19 · 208 阅读 · 0 评论 -
第九章-线程
* 进程控制块 */// 线程的内核栈// 线程状态// 线程优先级// 此任务自上 cpu 运行后至今占用了多少 cpu 嘀嗒数,也就是此任务执行了多久// general_tag 的作用是用于线程在一般的队列中的结点// all_list_tag 的作用是用于线程队列 thread_all_ list 中的结点// 进程自己页表的虚拟地址// 线程栈的边界标记,用于标记栈是否溢出内核栈。存储线程执行的函数、传参、寄存器、内存地址等信息任务的时间片。原创 2023-10-11 14:01:02 · 168 阅读 · 0 评论 -
第八章-内存管理系统
程序之间彼此独立保护内核系统编译器在编译阶段可以直接按照用户需要编译。原创 2023-10-11 13:56:56 · 63 阅读 · 0 评论 -
第七章-中断
由于外部设备的中断都是可屏蔽中断,所以最终还是要受标志寄存器 eflags 中的 IF位的管束,若 IF 为 0,可屏蔽中断全部被屏蔽,也就是说,在IF为 0 的情况下,即使 8259A 把外部设备的中断向量号发过来, CPU 也置之不理。因此中断描述符表的中断向量号是8259A分配的。(3)8259A接收到INTA信号后,立即将刚才选出来的优先级最大的中断在 ISR 寄存器中对应的 BIT 置1,此寄存器表示当前正在处理的中断,同时要将该中断从“待处理中断队列”寄存器 IRR 中去掉。原创 2023-10-11 13:54:47 · 406 阅读 · 0 评论 -
第六章-完善内核
内联汇编:在C语言中嵌入汇编代码。针对不同平台,使用不同的汇编代码规范,譬如windows下使用Intel语法,而在Linux下,使用AT&T语法。Intel语法更符合高级语言编写风格,如mov eax, ebx表示eax=ebx;而AT&T语法更符合处理器处理方式,mov eax, ebx表示ebx=eax。AT&T寻址方式segreg (段基址): base address(offset_address,index,size)等价于。原创 2023-10-11 13:41:25 · 38 阅读 · 0 评论 -
第五章-保护模式进阶
(1 )准备好页目录表及页表。(2 )将页表地址写入控制寄存器 cr3。【cr0用来开启保护模式】(3 )寄存器 cr0 的 PG 位置 1。【是否启用分页模式】分页会产生内部碎片,分段会产生外部碎片step1:配置CR3寄存器要求页目录的起始地址是 4KB的整数倍 ,设置CR3寄存器的[31:12]位为物理地址的高20位,CR3的[11:0]中除了PCD和PWT两个和高速缓存相关的设置之外,其余位都没用,此处置0即可,那么仅需把页目录表物理地址的高 20 位写入 cr3 寄存器即可。原创 2023-10-11 13:39:22 · 102 阅读 · 0 评论 -
第四章-保护模式
操作系统真象还原第4章-保护模式原创 2023-10-11 10:15:20 · 94 阅读 · 0 评论 -
第三章-完善MBR
操作系统真象还原第3章原创 2023-10-11 10:13:37 · 92 阅读 · 0 评论