Linux内核探索
文章平均质量分 83
wyg_031113
这个作者很懒,什么都没留下…
展开
-
Linux内存管理数据结构之间的关系
linux内存管理是一个相当复杂的机制,这里只是基础的内存管理知识结构,不包括页面换出换入。 可以从以下角度思考问题 用户地址空间: 用户内存请求被认为是不紧迫的 用户访问是危险的 权限控制用户程序典型应用: shell中运行个命令,全新的地址空间 正在运行的程序装入了别一个程序exec,进程标识不变,线性区变了 用户程对文件作内存映射 用户malloc 用户栈增长 IPC共享内原创 2016-03-21 22:04:07 · 1328 阅读 · 0 评论 -
学linux内核的一些感想
关于计算机科学与技术专业的感想两个月前,我突然决定看一下linux内核。作为一个计算机专业出生的学生,我想透彻地了解整个计算机系统。虽然学过计算机组成原理、操作系统、编译原理等课程,但是总感觉比较偏向理论。而我是一个注重理论与实践相结合。而事实上理论与实践想结合的想法对不对有待认证。在中国,计算机学院会设置一个专业叫计算机科学与技术,而科学与技术其实是不同的方向。计算机科学理注重理论,技术是注重实践原创 2016-03-12 12:39:15 · 727 阅读 · 0 评论 -
linux pid名字空间
最近看《深入理解linux内核架构》中pid名字空间一块,略有感悟。这里开门见山,直接来讲pid名字空间是如何实现的,以及如何使用。先看一幅图,图中描述了所使用的数据结构和他们的关系。 首先强调图中的几个比较容易搞混的字段。看task_struct中的struct pid_link *pids数组中,每个元素里有一个struct hlist_node node字段。也就是说,可以利用这个字段把ta原创 2016-03-15 09:50:44 · 1475 阅读 · 0 评论 -
linux内核用户地址空间分配与管理
linux用户空间管理中设计一套复杂高效的数据结构设计这些数据结构是为了解决什么问题呢?这些数据结构上有什么操作呢? 这套机制为解决以下问题? 1.已知一个进程如何知道他的虚拟内存和物理内存情况? 2.进程运行时在堆里加一块内存怎么办? 3.进程运行时创建共享内存怎么办? 4.进程运行时进行内存映射文件了怎么办? 5.多个进程映射同一个文件怎么办? 6.由一个文件inode怎么知道他映原创 2016-03-26 11:26:07 · 617 阅读 · 0 评论 -
Linux内核学习开始
Linux是开源的操作系统,其系统所有源代码都是开放的,这对研究操作系统是十分方便的。 Linux内核发展至今,版本特别多,比较经典的是2.6内核。所以本文以研究 2.6内核为主。可是内核比较大,从哪里入手是一个十分重要的问题。显然,一开始就看内核源代码是不切实际的,是可能被细节搞晕的。在计算机专业的课程中我们都学习过操作系统课程,对操作系统的大概功能有所了解,而那些linu原创 2017-02-25 11:11:26 · 1145 阅读 · 0 评论 -
linux内核调试环境构想
虽然现在64位操作系统越来越流行,但是为了研究方便,我们还是选取32位内核研究。而linux操作系统就多种,比较流行的有centos ubuntu等,这里选用centos6.5-i386系统。安装系统时配置为软件开发站,方便内核编译。文件系统部分可以不使用LVM。而内核源码采用2.6.32.26内核。 在使用linux过程中,我们很可能要安装一些软件,比如centos用yum。原创 2017-02-25 11:20:25 · 331 阅读 · 0 评论