Linux内核设计与实现记录

每章的小结

第一章:linux 简介

第二章:从内核出发

make oldconfig   make menuconfig 

make>../somefile  make>/dev/null

make -j4

unlikely(); 宏

第三章:进程管理

进程描述符 及 任务结构

task_struct

thread_info

进程状态

进程上下文  进程创建  vfork  clone

第四章:进程调度

时间片  调度算法  抢占和上下文切换  睡眠

第五章:系统调用

api  系统调用 内核  参数传递  系统调用上下文  系统调用实现

第六章:中断及中断处理

中断  request_irq()    dev_id         /proc/interrupts

中断上下文

第七章:下半部 推后的工作(本章不那么容易理解)

任务队列

tasklet

工作队列

软中断

 

第八章:内核同步 

1.并发与死锁 避免并发和防止竞争条件称为并发。

2.到底是什么造成了并发执行。

1.。。。

2.。。

并发:两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生,并且有一点的相互关系

 在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

  在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQL Server 使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。

  操作系统并发程序执行的特点:

  并发环境下,由于程序的封闭性被打破,出现了新的特点:

  ①程序与计算不再一一对应,一个程序副本可以有多个计算

  ②并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等。

  ③并发程序在执行中是走走停停,断续推进的。

编辑本段并发和并行的区别和联系

  并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。

第九章:同步方法

原子操作 原子位操作  atomic_t  32位=24+8位锁

自旋锁 不能休眠

信号量可以休眠 不能用中断上下文 因为中断上下文不休眠。

完成变量 : 一个任务发现信号给需要这个信号的任务 。

顺序和屏障。

第十章:定时器和时间管理

节拍率 hz 一般为100

 一秒jiffies = hz

32 的机器上 32位无符号长整形

64的机器上 64位无符号长整形

第十一章 内存管理

kmolloc vmolloc 前者是虚拟地址是连续的 物理地址也连续 后者虚拟地址是连续的 但物理地址未必是连续的

slab层

每个cpu的分配

第十二章 虚拟文件系统

第十三章 块I/O操作

缓冲区头 大于扇区小于页面

bio结构体

请求合并和排序

第十四章 进程地址空间

返回段错误,是因为不正确的访问内存或访问的不是有效内存。

代码段 

数据段(全局变量)

bss段(未初始化的全局变量)

是否共享内存是linux 线程和进程的唯一区别。

第十五章 页高速缓存和页回写

pdflush 线程 回写磁盘

第十六章 模块

make -C  /kernel/source/location   SUBDIRS=$PWD modules

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值