Linux系统基础
文章平均质量分 79
hoikin-yiu
这个作者很懒,什么都没留下…
展开
-
Linux内核分析之二——时间片轮转多道程序上下文切换机制之堆栈分析
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000在计算机中,能够保证计算机程序运行的一些重要机制包括:存储程序,函数调用堆栈机制,中断机制以及多道程序上下文切换机制。本文要介绍的就是在时间片轮转的情况下,多道程序上下文切换的机制是如何工作的。以一个小小的ker原创 2016-03-06 10:53:32 · 1067 阅读 · 0 评论 -
APUE读书笔记之二——文件I/O
第三章 文件I/O1,文件描述符对于内核而言,所有打开的文件都用文件描述符引用。文件描述符是一个非负整数,当打开或者创建一个文件时,内核向进程返回一个文件描述符,支持POSIX的应用程序中,0,1,2被替换成标准输入STDIN_FILENO,标准输出STDOUT_FILENO,标准错误STDERR_FILENO,这些常量被定义在。Linux2.4对于每个进程的文件描述符数量的硬限制是104原创 2016-09-24 20:45:57 · 303 阅读 · 0 评论 -
APUE读书笔记之一——UNIX基础知识
第一章 UNIX基础知识1,UNIX体系结构控制计算机硬件资源,提供程序运行环境的软件称为内核。内核的接口为系统调用(System Call);公共函数库构建在系统调用接口之上,应用软件即可以调用公共函数库,也可以调用系统调用。Shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口。Linux是GNU操作系统的内核,此种操作系统为GNU/Linux。2,登录用户登录系统原创 2016-09-24 17:47:20 · 279 阅读 · 0 评论 -
Linux内核分析之九——课程总结
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000课程博客文章目录:Linux内核分析之一——简单C程序的汇编代码工作过程分析http://blog.csdn.net/hoikinyiu/article/details/50753103文章介绍了原创 2016-05-01 09:39:37 · 408 阅读 · 0 评论 -
Linux内核分析之八——进程调度与进程切换的过程
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001、进程调度的时机在Linux系统中,进程调度一般发生在中断处理过程中(包括时钟中断,I/O中断,系统调用和异常),直接调用schedule()系统调用,或者返回用户态时根据need_resched标记调原创 2016-04-17 11:27:04 · 554 阅读 · 0 评论 -
Linux内核分析之七——Linux内核如何装载和启动一个可执行程序
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001、ELF的文件格式。通常我们将程序文件编译后得到的目标文件,在Linux上其格式就是ELF文件,就是 EXECUTABLE AND LINKABLE FORMAT,其格式如下所示:我原创 2016-04-10 22:06:31 · 928 阅读 · 0 评论 -
Linux内核分析之五——分析系统调用(system_call)的执行机制
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000当系统进行系统调用时,系统会通过int 0x80进行跳转到system_call这个地方,它是在系统初始化时,调用trap_init()就开始初始化好的地址,如果在以后有发生系统调用,则会跳转至system_ca原创 2016-03-27 21:43:53 · 2581 阅读 · 0 评论 -
Linux内核分析之一——简单C程序的汇编代码工作过程分析
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290001,计算机工作及汇编基础知识现代计算机采用冯诺依曼体系结构,即存储程序计算机。计算机将代码指令储存在内存中,然后CPU将一条一条指令从内存中读取并执行,得出结果。在32位,并采用采用AT&T汇编的计算机里,eip原创 2016-02-27 01:43:11 · 609 阅读 · 0 评论 -
Linux内核分析之三——使用gdb跟踪调试内核从start_kernel到init进程启动
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000Linux内核(本文以Linux-3.18.6为例)的启动在源代码init文件夹里的main.c文件,在经过执行一些汇编代码(把内核代码文件放到内存中解压缩,初始化C执行环境等等工作)后,会进入一个C编写的函数s原创 2016-03-11 17:09:33 · 2590 阅读 · 0 评论 -
Linux内核分析之六——进程的描述与进程的创建
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000进程的描述Linux系统的进程由一个进程描述符PCB,即task_struct结构体来描述,其在内核中代码实现如下:struct task_struct {1236 volatile long原创 2016-04-02 09:27:10 · 1217 阅读 · 0 评论 -
Linux内核分析之四——系统调用的工作机制
作者:姚开健原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000学过计算机操作系统的都知道,CPU工作时有两种状态,一种是用户态,一种是内核态,用户态意味着代码访问的范围会受到限制,在32位X86的机器上,4G的内存里,在用户态的时候,只能访问0x00000000-0xbff原创 2016-03-20 18:05:03 · 1036 阅读 · 0 评论 -
APUE读书笔记之四——文件和目录
第四章 文件和目录4.1,引言第四章主要讲的是文件的属性,以及操作这些属性的函数。文件的属性由一个结构体stat定义,其主要结构是:struct stat {mode_t st_mode; //文件类型与权限;ino_t st_ino; //i节点序号;dev_t st_dev; //文件系统的设备号;dev_t st_rdev; //特殊文件(字符特殊文件和块特殊文原创 2016-11-06 23:56:22 · 520 阅读 · 0 评论