博客专栏  >  架构   >  Linux内核设计的艺术

Linux内核设计的艺术

对于学习Linux技术开发的人,在了解了系统编程和高级的应用之后,下一个阶段就是应该学习Linux内核,当然,那些都是非常晦涩难懂的知识,博主希望在自己学习的同时,及时记录自己学习的内容,分享自己学习的过程

关注
20 已关注
33篇博文
  • LINUX0.11 内核阅读笔记

    一.源码目录图1二.系统总体流程:系统从boot开始动作,把内核从启动盘装到正确的位置,进行一些基本的初始化,如检测内存,保护模式相关,建立页目录和内存页表,GDT表,IDT表。然后进入main进行初...

    2013-07-21 19:07
    1745
  • Linux0.11进程分配时间片的策略

    想知道内核什么时候给进程重新分配时间片,最好的办法就是阅读源代码(其中已经打了注释)/*********************************************************...

    2013-07-15 14:46
    1543
  • Linux0.11中对文本文件进行修改的策略

    现在,假设 hello.txt 是硬盘上已有的一个文件,而且内容为 “hello, world” ,在文件的当前指针设置完毕后,我们来介绍 sys_read , sys_write , sys_lse...

    2013-07-15 14:05
    1579
  • 进程的用户栈和内核栈

    进程是程序的一次执行过程。用剧本和演出来类比,程序相当于剧本,而进程则相当于剧本的一次演出,舞台、灯光则相当于进程的运行环境。进程的堆栈每个进程都有自己的堆栈,内核在创建一个新的进程时,在创建进程控制...

    2013-07-14 22:11
    2863
  • Linux 句柄是什么 ?

    1.句柄就是一个标识符,只要获得对象的句柄,我们就可以对对象进行任意的操作。2.句柄不是指针,操作系统用句柄可以找到一块内存,这个句柄可能是标识符,map的key,也可能是指针,看操作系统怎么处理的了...

    2013-07-13 16:55
    6757
  • Linux进程-进程的创建

    今天学习了Linux的进程创建的基本原理,是基于0.11版本核心的。下面对其作一下简单的总结。一、Linux进程在内存中的相关资源   很容易理解,Linux进程的创建过程就是内存中进程相关资源产生的...

    2013-07-12 17:01
    1672
  • 什么是文件头

    要求每个文件均有特殊的、可识别的文件头。文件头偏移 代号 数据类型 字节数 默认值 名称 说明0 FUM P-BCD 2 文件统一标识 所有文件均含有此标识符2 FDT P-BCD 1 文件数据类...

    2013-07-11 19:09
    2223
  • Linux0.11 创建进程的过程分析--fork函数的使用

    /* * linux/kernel/fork.c * * (C) 1991 Linus Torvalds */ /* 注意:signal.c和fork.c文件的编译选项内不能有vc变量优化选项/Og,...

    2013-07-11 14:52
    1370
  • Linux根文件系统介绍

    系统  根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之...

    2013-07-10 08:52
    5338
  • 两篇文章说异常和中断之二

    一、基本概念1. 产生的位置发生的时刻时序中断CPU外部随机异步异常CPU正在执行的程序一条指令终止执行后同步2.由中断或异常执行的代码不是一个进程,而是一个内核控制路径,代表中断发生时正在运行的进程...

    2013-07-01 14:47
    1629
  • 两篇文章说中断和异常之一

    转载自:http://www.cnblogs.com/javawebsoa/archive/2013/05/05/3061787.html中断和异常的概念* 中断: 硬件通过中断来通知内核。中断是一种...

    2013-07-01 14:46
    1232
  • Linux 进程等待队列

    Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队...

    2013-07-01 10:51
    1380
  • Linux0.11启动过程

    从开机加电,到执行main函数之前的过程好吧,这里应该是有执行3个汇编的文件,但是我不太了解。囧从main函数,到启动OK(即可以响应用户操作了)这个步骤做了3件事情:创建进程0,使之具备在主机中进行...

    2013-06-30 13:32
    1098
  • Linux0.11小结

    第一部分 基础内容1.操作系统基础    操作系统是计算机硬件系统与用户程序间重要环节,理解操作系统的原理是编写优秀代码的基础。教课书中阐述的操作系统一般由5部分组成。一个最简单的操作系统,可以不需要...

    2013-06-30 13:34
    1852
  • 深入解析Linux中的fork函数

    1、定义 #include #include pid_t fork( void );pid_t 是一个宏定义,其实质是int,被定义在#include中返回值:若成功调用一次则返回两个值,子进程返回...

    2013-06-28 13:43
    1651
  • Linux0.11进程切换和TSS结构

    TSS 全称为task state segment,是指在操作系统进程管理的过程中,进程切换时的任务现场信息。         X86体系从硬件上支持任务间的切换。为此目的,它增设了一个新段:任务状态...

    2013-06-25 22:11
    1730
  • Linux--缺页中断和交换技术

    1.请求调页中断:进程线性地址空间里的页面不必常驻内存,例如进程的分配请求被理解满足,空间仅仅保留vm_area_struct的空间,页面可能被交换到后援存储器,或者写一个只读页面(COW)。Linu...

    2013-06-25 11:11
    1879
  • 内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)

    如何查看进程发生缺页中断的次数?         用ps -o majflt,minflt -C program命令查看。          majflt代表major fault,中文名叫大错误,m...

    2013-06-25 11:09
    2780
  • Linux进程-命令行参数和环境列表

    命令行参数在C中,main函数有很多的变种,比如main(), int main(), int main(int argc, char *argv[]), int main(int argc, cha...

    2013-06-25 09:43
    2582
  • 进程内核栈、用户栈

    1.进程的堆栈     内核在创建进程的时候,在创建task_struct的同事,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运...

    2013-06-24 21:43
    1204
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部