linux kernel
文章平均质量分 69
learnboy007
be a programer
展开
-
进程调度
进程上下文和中断上下文 Besides executing code on behalf of a user program, the kernel can also be activated by asynchronous hardware interrupts, and is then said to run in interrupt context. The main dif原创 2012-06-07 16:10:37 · 355 阅读 · 0 评论 -
深入理解linux内核读书笔记(第十二章)
1. VFS是linux的一个专门来处理和文件系统相关的系统调用的软件层。 2. VFS支持的文件系统可分为三类: (1) 基于磁盘的文件系统,ext2, ext3, vfat, ntfs, ISO9660, UDF, HFS等。 (2) 网络文件系统, nfs, cifs等 (3)特殊文件系统, proc等 3. VFS的思想是引入一种的通用的文件模型,它可以表示所有支持原创 2015-07-31 16:58:26 · 705 阅读 · 0 评论 -
深入理解linux内核读书笔记(第十章)
1. 在执行系统调用时,内核一般返回0表示成功,负数表示失败。用户态的包装函数将内核返回的错误码取负,设置到errno中。 2. 对于没有实现的系统调用,sys_call_table中会存放sys_ni_syscall函数,返回-ENOSYS。 3. 进入系统调用有两种方法: (1) int 0x80 (2) sysenter 退出也有两种方式: (1) iret原创 2015-07-30 15:18:42 · 566 阅读 · 0 评论 -
深入理解linux内核读书笔记 (第四章)
1. 中断被分为同步中断和异步中断。同步中断是cpu在执行指令过程中触发的, 异步中断是其他硬件设备在任意时间所引发的。 2. 英特尔手册中将同步中断称为异常,异步中断称为中断。 3. 中断一般由外部io设备触发,异常一般分为两种:1. 由于程序错误引发。 2. 异常的执行情况或请求,例如页故障和系统调用。 4.原创 2015-06-17 17:33:02 · 643 阅读 · 0 评论 -
深入理解linux内核读书笔记(第九章)
1. 内核信赖自己,但是对于用户态的内存请求,内核会做必要的地址检查,然后先给进程分配地址空间(线性地址),真正的物理内存分配推迟到必要的时候才进行。 2. 内核使用mm_struct 来描述用户的地址空间信息,所有的mm_struct 是用双向链表连接起来的,相邻的mm_struct 在mmlist域中表示,链表中的第一个元素是init_mm中mmlist指向的进程0的mm_struct。原创 2015-06-11 16:33:16 · 826 阅读 · 0 评论 -
深入理解linux内核读书笔记(第三章)
1. 进程是程序执行时的一个实例。 2. 从内核的角度看,进程是系统进行资源分配的实体。 3. linux 通过轻量级进程来支持多线程应用,每一个轻量级进程对应一个线程。 线程之间共享地址空间,打开的文件等资源,内核对每一个轻量级进程进行单独调度。 4. 一个线程组包含了一组线程用来实现多线程应用,对于getpid,kill, _exit等系统调用,线程组作为一个整体。 5. 内原创 2015-06-17 16:14:51 · 955 阅读 · 0 评论 -
进程切换
原创 2012-06-14 16:43:18 · 365 阅读 · 0 评论 -
进程调度策略
原创 2012-06-14 12:12:05 · 261 阅读 · 0 评论 -
进程创建
原创 2012-06-13 11:35:47 · 264 阅读 · 0 评论 -
linux 启动 过程 学习 (x86_64)
1. arch/x86/boot/header.S , kernel setup 从 _start开始。 设置 stack, bss, 最后跳转到 arch/x86/boot/main.c。 2. 在main函数中,把kernel setup header 拷贝到 struct setup_header, 之后初console_init, init_heap, validate_cpu,原创 2015-11-30 11:30:10 · 2355 阅读 · 0 评论