03 2016 档案

摘要:第18章 调试 调试工作艰难是内核级开发区别于用户级开发的一个显著特点,相比于用户级开发,内核调试的难度确实要艰苦得多。更可怕的是,它带来的风险比用户级别更高,内核的一个错误往往立刻就能让系统崩溃。 驾驭内核调试的能力(当然,最终是为了能够成功地开发内核)很大程度上取决于经验和对整个操作系统的把握。 阅读全文
posted @ 2016-03-31 12:39 郝爽whnqj 阅读(106) 评论(0) 推荐(0)
摘要:一、知识概要 进程的描述 进程描述符task_struct数据结构(一)进程描述符task_struct数据结构(二)进程的创建 进程的创建概览及fork一个进程的用户态代码理解进程创建过程复杂代码的方法浏览进程创建过程相关的关键代码创建的新进程是从哪里开始执行的?使用gdb跟踪创建新进程的过程二、 阅读全文
posted @ 2016-03-28 10:56 郝爽whnqj 阅读(138) 评论(0) 推荐(0)
摘要:第五周 给MenuOS增加time和time-asm命令 更新menu代码到最新版 在main函数中增加MenuConfig 增加对应的Time函数和TimeAsm函数 make rootfs 使用gdb跟踪系统调用内核函数sys_time 一直按n单步执行会进入schedule函数 sys_tim 阅读全文
posted @ 2016-03-26 14:37 郝爽whnqj 阅读(125) 评论(0) 推荐(0)
摘要:第五章 系统调用 内核提供了用户进程与内核进行交互的一组接口。这些接口让应用程序受限地访问硬件设备,提供了创建进程并与已有进程进行通信的机制,也提供了申请操作系统其它资源的能力。 5.1 内核通信 中间层的作用: 1.它为用户空间提供了一种硬件的抽象接口 2.系统调用保证了系统的稳定和安全 3.使进 阅读全文
posted @ 2016-03-26 14:32 郝爽whnqj 阅读(175) 评论(0) 推荐(0)
摘要:1.内核态:在高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态 2.用户态:在低级别的指令状态下,代码 只能在级别允许的特定范围内活动。在日常操作下,执行系统调用的方式是通过库函数,库函数封装系统调用,为用户提供接口以便直接使用。 3.在Linux下0级表示内核态, 阅读全文
posted @ 2016-03-20 11:10 郝爽whnqj 阅读(205) 评论(0) 推荐(0)
摘要:1.Unix演化版实现了任务管理、换页机制、TCP/IP等新的特性。 2.Unix的特点: 3.Unix的现状:成为一种支持抢占式多任务、多线程、虚拟内存、换页、动态链接和TCP/IP的现代化操作系统。 1.Linux现在广泛移植到Alpha、ARM、PowerPC、SPARC、x86-64等其他体 阅读全文
posted @ 2016-03-17 10:48 郝爽whnqj 阅读(153) 评论(0) 推荐(0)
摘要:arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。 include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目 阅读全文
posted @ 2016-03-13 12:54 郝爽whnqj 阅读(183) 评论(0) 推荐(0)
摘要:chapter 1 知识点梳理 (一)计算机是如何工作的?(总结)——三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构; ②函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能; 1 阅读全文
posted @ 2016-03-06 17:56 郝爽whnqj 阅读(193) 评论(0) 推荐(0)