Linux内核
文章平均质量分 71
pitaya-kiwi
凡是求个明白,算是本性难改。
展开
-
Linux System Programming读书笔记之进程调度算法CFS
Unix(包括CFS问世之前的Linux)系统中,进程调度算法有两个核心概念:时间片(timeslice)和优先级(priority)。在传统的进程调度算法中,每个进程分配了一个时间片, 表示这个进程占用的CPU时间。进程可以一直运行,直到耗尽它的时间片。同样,每个进程分配了一个优先级,进程调度器先运行优先级高的进程,再运行优先级低的进程。这种调度算法简单高效,但是对于要求高交互性和公平性的系统,原创 2016-02-29 21:45:24 · 548 阅读 · 0 评论 -
Linux System Programming读书笔记之deamon进程
Deamon进程是一种在后台运行,不与任何控制终端有联系的进程。一般来说,deamon进程在系统boot阶段启动,用于处理系统级的任务。按照约定,deamon进程的名字一般以d结尾,比如crond,或者sshd。 Deamon进程有两个要求:(1)它必须是init进程的子进程;(2)它不能与任何终端有联系 一般来讲,一个程序可以通过以下步骤来成为一个deamon进程: (1)调用fork()原创 2016-03-01 22:17:10 · 401 阅读 · 0 评论 -
linux下的进程切换
1.进程切换首先要进行用户空间的切换,即将新进程页面目录的起始物理地址装入控制寄存器CR3. static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,原创 2014-03-10 21:39:44 · 556 阅读 · 0 评论 -
Robert Love 在 quora 上关于 Linux Kernel 的问答摘录之一
(1)什么是“SMP 安全”以及为什么linux kernel是SMP安全的?(2)如何查看系统在系统调用(system call)上所用的时间比例?(3)copy_to_user如何工作?(4)Linux内核是可重入的吗?(5)Linux内核是不是也像用户态进程一样拥有自己的虚拟地址空间?原创 2016-05-31 20:39:29 · 699 阅读 · 0 评论 -
Robert Love 在 quora 上关于 Linux Kernel 的问答摘录之二
(6)当Linux的一个进程占据了100%的CPU时,Linux调度器会做什么?这是不是意味着没有其他进程可以执行了?(7)“内核内存是不可换页(page-able)的”是什么意思?(8)干净内存和脏内存有什么区别?(9)Linux进程间可以共享内存吗?(10)Linux内核中高端内存和普通内存有什么区别?原创 2016-06-01 23:55:35 · 444 阅读 · 0 评论 -
Robert Love 在 quora 上关于 Linux Kernel 的问答摘录之三
(11)可以在一个程序中同时使用malloc()和brk()吗?这样做会有什么后果?(12)当一个不可抢占的内核运行在内核态时,如何处理定时器中断?内核是会忽略这个中断还是在定时器中断完成后重新进入原先的进程?(13)Linux内核有防止mlock()的滥用吗?如果有,是怎么做到的呢?(14)用户态访问原始块设备的最佳途径是什么?(15)为什么Linux内核的中断处理函数不可睡眠?所有的OS内核都是这样的吗?原创 2016-06-02 20:36:47 · 406 阅读 · 0 评论 -
Robert Love 在 quora 上关于 Linux Kernel 的问答摘录之四
(16)Linux中的initramfs程序是什么?(17)什么是无滴答(tickless)内核?(18)为什么在已经有了内核缓存机制的情况下还需要标准I/O库提供的缓存机制?(19)当访问一个内存地址时,Linux内核如何知道这个页面是mmaped的?(20)为什么当终端进程结束后,从终端启动的Linux进程也会结束?原创 2016-06-12 11:15:31 · 356 阅读 · 0 评论