• 《Linux内核设计与实现》读书笔记 第一章 Linux内核简介

    时间:2022-10-05 16:56:24

    一、相关历史 1. Unix内核的特点 简洁:仅提供系统调用并有一个非常明确的设计目的 抽象:几乎所有东西都被当做文件 可移植性:使用C语言编写,使得其在各种硬件体系架构面前都具备令人惊异的移植能力 进程:创建迅速,一次执行保质保量地完成一个任务;独特的fork系统调用 清晰的层次化结构:...

  • 【Linxu内核设计与实现】-第1章 Linux内核简介

    时间:2022-10-05 16:56:12

    第1章Linux内核简介 主要内容: 认识Linux内核与Linux操作系统 1.1  Unix的历史 (1)Unix的产生及发展。 (2)Unix强大的根本原因: 很简洁 所有东西都被当做文件对待 C语言实现,可移植性性强 进程创建迅速 (3)广泛应用于嵌入式设备、集群之中。   1...

  • 《Linux内核设计与实现》读书笔记 第二章 从内核出发

    时间:2022-09-28 17:37:45

    一、获取内核源码1. Gitgit实际上是一种开源的分布式版本控制工具。Linux作为一个开源的内核,其源代码也可以用git下载和管理 - 获取最新提交到版本树的一个副本 - $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/to...

  • 《Linux内核设计与实现》读书笔记(十七)- 设备与模块

    时间:2022-09-23 14:54:29

    本章主要讨论与linux的设备驱动和设备管理的相关的4个内核成分,设备类型,模块,内核对象,sysfs。主要内容:设备类型内核模块内核对象sysfs总结1. 设备类型linux中主要由3种类型的设备,分别是:设备类型代表设备特点访问方式块设备硬盘,光盘随机访问设备中的内容一般都是把设备挂载为文件系统...

  • 《Linux内核设计与实现》CHAPTER17阅读梳理

    时间:2022-09-23 14:54:11

    《Linux内核设计与实现》CHAPTER17阅读梳理【学习时间:3.5hours】【学习内容:设备类型,模块,内核对象,sysfs】个人思考部分见【】标出的部分一、课堂讲解整理&思考1.什么是模块?为什么需要模块?它和设备有什么关系?首先,一个操作系统(这里以Linux系统为例)会关联很多...

  • 《Linux内核设计与实现》CHAPTER1,2阅读梳理

    时间:2022-09-23 14:40:55

    《Linux内核设计与实现》CHAPTER1,2阅读梳理【学习时间:2.5hours】【学习内容:Linux内核简介——历史与现今版本;Linux内核源代码以及编译】CHAPTER1 Linux内核简介1.Unix内核特点十分简洁:仅提供几百个系统调用并且有明确的目的;在Unix中,大部分东西都被(...

  • 《linux内核设计与实现》阅读笔记 第五章 中断和中断处理程序

    时间:2022-09-13 16:55:24

    一个设备可以引发多个中断对应多个中断处理程序。 中断处理应该尽快完成,但实际情况并不是这么理想,所以分为上半部和下半部 上半部只做有严格时限的工作,其他放到下半部做。 注册中断处理程序request_irq, 该函数会睡眠 P55 释放中断线free_irq 编写中断程序 P57 中断处理程序通常为...

  • 《Linux内核设计与实现》读书笔记(4)--- 中断和中断处理程序

    时间:2022-09-13 16:55:18

    中断和中断处理程序 1.中断     中断本质上是一种特殊的电信号,由硬件设备发向处理器。处理器接收到中断后,会马上向操作系统反映此信号的到来,然后由OS负责处理这些新到来的数据。硬件设备生成中断的时候并不考虑与处理器的时钟同步,内核随时可能因为新到来的中断而被打断。不同的设备对应的中断不同,都通过...

  • 《Linux内核设计与实现》读书笔记(七)- 中断处理

    时间:2022-09-13 16:55:06

    中断处理一般不是纯软件来实现的,需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理,特别是驱动程序的开发。 主要内容: 什么是中断 中断类型 中断相关函数 中断处理机制 中断控制方法 总结   1. 什么是中断 为了提高CPU和外围硬件(硬盘,键盘,鼠标等等)之间协同工作...

  • 《Linux内核设计与实现》读书笔记(3)--- 进程调度

    时间:2022-09-11 14:36:25

    进程调度 1.策略     进程可以被划分为I/O消耗型和处理器消耗型。前者指进程的大部分时间用来提交I/O请求或是等待I/O请求,常处于可运行状态。后者把时间大多用在执行代码上,除非被抢占,否则一直不停地运行,调度器不应该经常让它们运行。     调度算法中最基本的一类就是基于优先级的调度。这是一...

  • linux内核设计与实现读书笔记第一次

    时间:2022-09-07 20:48:33

    一、linux历史 20世纪60年代,MIT开发分时操作系统(Compatible TIme-Sharing System),支持30台终端访问主机;1965年,Bell实验室、MIT、GE(通用电气公司)准备开发Multics系统,为了同时支持300个终端访问主机,但是1969年失败了;~刚开始并...

  • linux内核设计与实现一书阅读整理 之第十八章

    时间:2022-09-04 09:15:36

    CHAPTER 18 调试18.1 准备开始需要的是准备是: - 一个bug - 一个藏匿bug的内核版本 - 相关内核代码的知识和运气重点: 想要成功的进行调试,就取决于是否能让这些错误重现。如若不能,消灭bug就只能通过抽象出问题,再从代码中寻找蛛丝马迹来进行了。18.2 内核中的bugbug出...

  • 《linux内核设计与实现》第一章

    时间:2022-08-07 16:13:33

    第一章Linux内核简介一、unix1、Unix的历史Unix是现存操作系统中最强大和最优秀的系统。——1969年由Ken Thompson和Dernis Ritchie的灵感点亮的产物。——1973年整个Unix操作系统用C语言进行重写,给后来unix广泛移植铺平道路。——1977年伯克利推出第一...

  • Linux内核设计与实现——内核简介

    时间:2022-08-02 16:56:58

    0、系统设计的一下特点,使其优良、健壮、弹性好 a、简洁:仅有几百个系统调用接口。 b、一切皆是文件:提供统一的访问接口。 c、 采用C语言实现:移植性强。 d、进程创建迅速:采用写时赋值技术。 e、进程间通信方式简单、稳定。 1.2 处理器所处上下文 a、运行于内核空间,处于进程上下文,代表某个特...

  • 《Linux内核设计与实现》笔记——内核同步简介

    时间:2022-08-02 16:56:52

    相关概念 竞争条件 多个执行线程(进程/线程/中断处理程序)并发(并行)访问共享资源,因为执行顺序不一样造成结果不一样的情况,称为竞争条件(race condition) 举例说明 #include<thread>using namespace std;int i = 0;...

  • 【Linux内核设计与实现】Linux内核简介

    时间:2022-08-02 16:56:46

    之前在读《APUE》的时候,更多的是从上层去了解如何使用Linux系统的API,那个时候就十分喜欢Linux的设计,觉得一切都很奇妙。 最近有些迷茫,不知道自己以后更加具体的技术方向在哪,所以最近广泛阅读了很多方面的书——C++方面,服务端网络编程方面,多线程方面,操作系统内核方面。 在li...

  • 《Linux内核设计与实现》第5章读书笔记

    时间:2022-07-21 17:02:49

    第五章 系统调用一、系统调用概述系统调用在Linux中称为syscall,返回的值是long型变量;如果出错,C库会将错误代码写入errno全局变量(通过调用perror()函数可以把该变量翻译成用户可以理解的错误代码);为了保证32和64位系统兼容,系统调用在用户空间和内核空间有不同的返回值类型:...

  • 《Linux内核设计与实现》读书笔记三

    时间:2022-07-05 16:54:33

    Chapter 18 调 试 18.1 准备开始 1.准备工作: 一个bug 一个藏匿bug的内核版本 相关内核代码的知识和运气2.执行foo就会让程序立即产生核心信息转储(dump core)。 18.2 内核中的bug ##往往是经由连锁反应触发的。## 1.内核bug的原因: 错误代码(如...

  • 《Linux内核设计与实现》学习笔记——进程管理

    时间:2022-07-05 16:54:27

    1. 进程的概念进程(处于执行期的程序),一段可执行的程序代码+相关的的资源程序:完全有可能存在两个进程共同执行同一个程序资源包括:打开的文件,挂起的信号,内核的内部数据,处理器的状态,内存地址空间,一个或多个执行线程线程(执行线程),都拥有一个独立的程序计数器,进程栈和一组进程寄存器。内核的调度对...

  • 《Linux内核设计与实现》读书笔记六

    时间:2022-07-05 16:54:15

    第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统。只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发行的效果。调度程序没有太复杂的原理,最大限度地利用处理器时间的原则...