随笔分类 - Linux内核设计与实现
《Linux内核设计与实现》+《UNIX操作系统设计》的笔记
摘要:中断和异常 定义:中断通常被定义为一个事件,该事件改变了CPU的执行顺序。 分类:中断常分为同步中断和异步中断。在intel微处理器中,把同步中断也称为 异常 ,异步中断称为 中断 。 同步中断(异常):当指令执行时由CPU控制单元产生的,之所以称为同步,是因为只有在一条指令执行终止执行后CPU才会
阅读全文
摘要:内核同步 我们可以把内核看做是不断对请求进行响应的服务器,这些请求可能来自CPU上的进程也可能来自发出中断的外部设备。这时我们会发现内核不是按照顺序执行的,而是 交错执行 的,因此这些请求可能引起 竞争条件 ,而我们就需要引入适当的 同步机制 对这种情况进行控制。 内核为何为不同的请求提供服务? 内
阅读全文
摘要:【先mark在这里,以后回来补,今天先进入进程】
阅读全文
摘要:我们在1,2中讲了Linux下UFS,这次我们将一下Linux下的VFS,并且与UFS做一定的对比。 VFS所隐含的主要思想在于引入了一个通用的文件模型,这个模型能够表示所支持的文件系统。有点类似于JDBC实现对数据库的统一操作。 本质上说,Linux内核不能对一个特定的函数进行硬编码执行注入rea
阅读全文
摘要:上一讲,我们讲了Unix的本地文件系统和Linux的ext2文件系统。并对他们进行了简单的比较,发现基本相同。Unix文件系统的柱面组(cg,cylinder group)就是Linux下的块组(block group),因此柱面组信息块就是组块描述符。另外,Unix的柱面组信息块结构体包含位示图(
阅读全文
摘要:kernel没有main函数,但是有start_kernel().。在linux/init/main.c下面。这是程序的起点,从这里开始看。但是,很显然从这里开始看,依然有很多很多的东西,像我这种没有毅力的人,估计看到死,还在看怎么开机启动吧。所以,我还是按照课本,从课本(《UNIX操作系统设计》)
阅读全文
摘要:1、获取最新内核源码:git clone https://github.com/torvalds/linux 获取各个版本内核源码:http://mirrors.aliyun.com/linux-kernel/ Ubuntu下解压:unzip linux-master.zip 2、内核源码树的根目录
阅读全文
摘要:1、系统概貌 UNICS——>UNIX——>增加管道功能——>C重写UNIX v.0 v.1 v.2 v.5 1970 1973 2、什么是内核? 系统调用(system call):是内核函数呈现给用户的接口,为应用程序的运行创建良好的操作系统环境。 内核(kernel):系统调用的集合及实现系统
阅读全文