<内核设计与实现>第四章读书笔记 第四章:进程调度 进程(操作系统)程序的运行态表现形式. 进程调度程序,它是确保进程能有效工作的一个内核子系统. 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间. 进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统. 最大限度地利用处理器时间的原则是, 只要有可以执行的进程,那么就总会有进程正在执行. 但是只要系统中可运行的进程的数目比处理器的个数多,就注定某一给定时刻会有一些进程不能执行.这些进程在等待运行.在一组处于可运…
设备与模块 关于设备驱动和设备管理,四种内核成分. 设备类型:在所有Unix 系统中为了统一普通设备的操作所采用的分类. 模块: Linux 内核中用于按需加载和卸载目标码的机制. 内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系. sysfs :表示系统中设备树的一个文件系统. 17 .1 设备类型 在Linux 以及所有Unix 系统中,设备被分为以下三种类型 块设备 字符设备 网络设备 块设备通常缩写为blkdev,它是可寻址的,寻址以块为单位,块大小随设备不同…
第一章 Linux内核简介 1.Unix简介 (一)概念:支持抢占式多任务.多进程.虚拟内存.换页.动态链接和TCP/IP网络的现代化操作系统. (二)Unix特点(层次化结构): Unix很简洁,仅提供几百个系统调用并有非常明确的设计目的. 在Unix中,所有东西都当作文件对待,所以对数据和对设备的操作是通过相同的系统调用接口来进行: 移植能力强,Unix内核和相关系统工具软件是由C语言编成: 进程创建非常迅速,一次执行保质保量完成一个任务,并有独特的fork()系统调用: 提供简单有稳定的进…
第十七章  设备与模块 一.四种内核成分 设备类型:在所有 Unix 系统中为了统一普通设备的操作所采用的分类. 模块: Linux 内核中用于按需加载和卸载目标码的机制. 内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系. sysfs :表示系统中设备树的一个文件系统. 二.设备类型 Linux系统中,设备被分为以下三种类型 块设备——是可寻址的,寻址以块为单位,块大小随设备不同而不同;支持重定位(seeking )操作,也就是对数据的随机访问 块设备的例子有硬盘.…
第四章 进程调度 调度程序负责决定将哪个程序投入运行,何时运行以及运行多长时间.进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.调度程序是像Linux这样的多任务操作系统的基础. 一.多任务 1.多任务操作系统: 能同时并发地交互多个进程的操作系统.可划分两类: 非抢占式多任务 抢占式多任务 2.抢占:调度程序决定什么时候停止一个进程的运行,以便其他进程能够得到执行机会. 时间片:进程在被抢占之前能够运行的时间.时间片实际上就是分配给每个可运行进程的处理器时间段. 让步…
4.1 多任务 多任务操作系统就是能同时并发地交互执行多个进程的操作系统. 多任务系统可以划分为两类: 非抢占式多任务进程会一直执行直到自己主动停止运行 抢占式多任务Linux/Unix使用的是抢占式的方式:强制的挂起进程的动作就叫做抢占. 像所有unix的变体和许多其他现代操作系统一样,Linux提供了抢占式的多任务模式. 进程的时间片:进程在被抢占之前能够运行的时间是预先设置好的. 4.2 Linux 的进程调度36 从1991年Linux的第1版到后来的2.4内核系列,Linux的调度程序…
一.进程(任务)描述 1.进程是处于执行期的程序:除了可执行程序代码,还包括打开的文件.挂起的信号.内核内部数据.一个或者多个执行线程等多种资源 线程是在进程活动中的对象:内核调度的对象是线程而不是进程 在Linux系统中,并不区分线程和进程 可能存在两个或者多个进程执行的是同一个程序:甚至N个进程共享打开的文件.地址空间之类的资源 2.在现代操作系统中,进程提供两种虚拟机制:虚拟处理器和虚拟内存 同一进程中的线程之间可以共享虚拟内存,但是每个都拥有自己的虚拟存储器 3.进程概述 新创建的进程调…
第七章.中断和中断处理 7.1中断 中断使得硬件得以发出通知给处理器.中断随时可以产生,内核随时可能因为新来到的中断而被打断. 不同的设备对应的中断不同,而每个中断都通过一个唯一的数字标志.操作系统给不同的中断提供对应的中断处理程序. 这些中断值通常被称为中断请求(IRQ)线,每个IRQ线都会被关联一个数量值. 异常: 在处理器执行到由于编程失误而导致的错误指令(如被0除)的时候,或者是在执行期间出现特殊情况(如缺页),必须靠 内核来处理的时候,处理器就会产生一个异常. 7.2中断处理程序 在响…
第五章  系统调用 5.1与内核通信 1. 系统调用 让应用程序受限的访问硬件设备 提供创建新进程并与已有进程通信的机制 提供申请操作系统其他资源能力是用户空间进程和硬件设备之间的中间层 2. 系统调用的功能 1)硬件的抽象接口:用户程序通过系统调用来使用硬件,而不用关心具体的硬件设备,简化了用户程序的开发 2)保证系统的稳定与安全:基于某些规则的访问控制 3)增强系统的稳定性 在Linux中,系统调用是用户空间访问内核的唯一手段 除异常和陷入外,他们是内核唯一的合法入口 5.2 API.POS…
第三章 进程管理 一.进程 1.进程就是处于执行期的程序,但并不局限于可执行代码.实际上,进程是正在执行的程序代码的实时结果. 2.执行线程是在进程中活动的对象 每个线程拥有一个独立的计数器.进程栈.一组进程寄存器 内核调度的对象是线程 3.在现代操作系统中,进程提供两种虚拟机制:虚拟处理器和虚拟内存. 4.进程是调用fork()系统的结果,最后程序通过exit()系统调用退出执行. 二.进程描述符及任务结构 内核把进程的列表存放在叫做任务队列的双向循环链表中.链表中的每一项都是类型为task_…