摘要: 本周的实验是分析Linux内核创建一个新进程的过程 开始先介绍了进程的描述,Linux中对一个进程的描述主要是通过进程描述符来进行描述的,进程描述符用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_ 阅读全文
posted @ 2016-11-13 19:04 李学生 阅读(312) 评论(0) 推荐(1) 编辑
摘要: 对于本周的实验是使用gdb跟踪分析一个系统调用中断处理过程,分析系统调用从system_call开始到iret结束之间的整个过程。 首先进入实验楼虚拟机打开终端进入LinuxKernel中将原有的menu删除代码如下 再拷贝新的menu 进入到test.c中添加上周写的系统调用 添加后编译运行men 阅读全文
posted @ 2016-11-06 15:53 李学生 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 对于本周的实验部分是使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 首先通过了解了下系统调用的有关知识 1)当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数。 在Linux中是通过int $0x80来执行系统调用的,这条汇编指令产生向量为128的编程异常 2 阅读全文
posted @ 2016-10-30 13:41 李学生 阅读(148) 评论(1) 推荐(0) 编辑
摘要: 本周的实验主要是通过gdb工具来调试查看Linux x86的内核代码,首先需要对gdb有一定的了解: GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比V 阅读全文
posted @ 2016-10-22 20:40 李学生 阅读(310) 评论(1) 推荐(0) 编辑
摘要: 通过本周对Linux的学习,我对Linux的进程管理有了更加深入的了解大体来讲进程有五种状态,在五状态进程模型中,进程状态被分成下列五种状态。进程在运行过程中主要是在就绪、运行和阻塞三种状态间进行转换。创建状态和退出状态描述进程创建的过程和进程退出的过程。 1)运行状态(Running):进程占用处 阅读全文
posted @ 2016-10-16 17:44 李学生 阅读(249) 评论(2) 推荐(0) 编辑
摘要: 通过近三周的学习我对Linux有了具体的了解,在这三周的学习中我觉得Linux最大的特点就在于它的模块化设计与其将一切视为文件的设计。 Linux系统按照程序运行空间(或权限)分用户空间和内核空间,内核空间运行linux内核程序代码。Linux内核代码属于单内核(monolithic kernel) 阅读全文
posted @ 2016-10-09 18:00 李学生 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 通过本周的学习,我更加具体的了解了计算机的工作原理,对于冯诺依曼体系结构主要为: (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中,(数据和程序在内存中是没有区别的,它们都是内存中的数据,当EIP指针指向哪 CPU就加载那段内存中的数据,如果是不正确的指令格式,CPU就会发生错误中 阅读全文
posted @ 2016-10-02 13:55 李学生 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 接近一周的Linux基础入门学习,使我对Linux有了较为全面和整体的认识,通过本周的学习我把Linux与Windows进行比较发现相对于Windows,Linux有许多特别的区别去Windows的地方,并且对Linux中的指令操作也有了一定的了解,学会了一些基本的指令操作。 Linux的一大特点是 阅读全文
posted @ 2016-09-25 18:52 李学生 阅读(510) 评论(0) 推荐(0) 编辑