<Linux内核设计与实现> Chapter4 读书笔记 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统. 一.多任务 多任务操作系统就是能同时并发地交互执行多个进程的操作系统. 多任务系统可以划分为两类: 非抢占式多任务 进程会一直执行直到自己主动停止运行 抢占式多任务 Linux/Unix使用的是抢占式的方式:强制的挂起进程的动作就叫做抢占. 像所有unix的变体和许多其他现代操作系统一样,Linux提…
一次偶然的机会,看到了阮一峰老师关于这本书的介绍,当时我就觉得这本书相当有趣. 在没有读这本书之前,我觉得 linus 作为发明 Linux 系统的人,应该是一个比较严肃的人,就像我的老师一样.但事实跟我想象的相反,他跟程序员一样,风趣幽默,各种自嘲(他已经在书中不少于一次说自己的鼻子大了),专注于技术问题,还有不修边幅...就如王思聪在网友的眼中只是一个十分有钱的屌丝,linus 在我们眼中大概就是一个有钱.技术十分高超的程序员吧! 在正是因为这种原因,这本书读起来十分轻松,有些地方观点更是十…
一.linux历史 20世纪60年代,MIT开发分时操作系统(Compatible TIme-Sharing System),支持30台终端访问主机: 1965年,Bell实验室.MIT.GE(通用电气公司)准备开发Multics系统,为了同时支持300个终端访问主机,但是1969年失败了: -刚开始并没有鼠标.键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过: -Multics:Multiplexed Information and Com…
<Linux内核设计与实现>CHAPTER3阅读梳理 [学习时间:3hours] [学习内容:进程的描述:进程的生命周期(包括创建.终结)] 一.进程(任务)描述 1.进程是处于执行期的程序:除了可执行程序代码,还包括打开的文件.挂起的信号.内核内部数据.一个或者多个执行线程等多种资源 线程是在进程活动中的对象:内核调度的对象是线程而不是进程 在Linux系统中,并不区分线程和进程 可能存在两个或者多个进程执行的是同一个程序:甚至N个进程共享打开的文件.地址空间之类的资源 2.在现代操作系统中…
首先,这本书是Linux.CN赠送的,多谢啦~ http://linux.cn/thread-12733-1-1.html http://linux.cn/thread-12754-1-1.html   先贴一下当时读样章时的感想: 在阅读前言时,还以为这是一本专注于带领开发人员学习Linux系统运维的书籍,后来发现正文内容以排除故障的通用手段为切入点,进而引申到Linux系统各类系统故障的排除的具体方式.这些内容不仅可以引导开发人员进入DevOps的大门,更可以修正运维人员的排障方式和方法,还…
第一章 Linux内核简介 1.1 Unix的历史 Unix的特点: Unix很简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的: 在Unix中,所有的东西都被当做文件对待. Unix的内核和相关的系统工具软件是用C语言编写的,在各种硬件体系结构前具有强大的移植能力 Unix的进程创建非常迅速,并且有一个非常独特的fork()系统调用 提供简单又稳定的进程间通信元语 1.2 Linux简介 -是类Unix系统 -Linux的基础是内核.C库.工具集和系统的基本工具. 1.3操作系统和内核…
第七章--链接 0.总结 链接编译时可以采用静态链接或动态链接. 连接器主要任务:符号解析和重定位. 多个目标文件可定义相同的符号,可以被连接到一个单独的静态库. 链接器可以生成部分链接的可执行文件 动态链接器通过加载共享库和重定位程序中的引用来完成链接任务. 1.编译器驱动程序 编译系统提供的调用预处理器.编译器.汇编器和链接器来构造目标文件的程序. 2.静态链接 3.目标文件 三种形式: 1.可重定位目标文件: 2.可执行目标文件: 3.共享目标文件: 4.可重定位目标文件 ELF格式 5.…
第5章系统调用 5.1与内核通信 主要作用: 为用户控件提供了一种硬件的抽象接口. 保证了系统稳定性与安全性. 为用户空间&系统提供公共接口. 5.2API.POSIX和C库 一般情况,应用程序通过在用户空间实现的应用编程接口API而不是直接通过系统调用来编程.(因为应用程序使用的这种编程接口实际上不需要和内核提供的系统调用对应) 总之,Unix系统调用提供机制而不提供策略.换句话说,Unix的系统调用抽象出了用于完成某种确定的目标的函数. 5.3系统调用 asmlinkage(限定词):编译指…
<深入理解计算机系统>CHAPTER7阅读梳理 [学习时间:3hours] [学习内容:链接需要的代码&数据:链接机制:链接生成的目标文件] 一.链接概述 1.链接 定义:链接是将各种数据和代码收集起来成并组合成为一个单一文件的过程(这个文件可以被拷贝到存储器并且执行) 场合: 编译时:即源代码被翻译成机器代码 加载时:程序被加载器加载到存储器并执行 运行时 作用: 使得分离编译成为可能(将大型应用程序分解为若干个小模块) 2.铺垫--编译驱动程序以及目标文件.符号表 编译驱动程序代表…