<Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统. 4.1 多任务 多任务操作系统就是能同时并发地交互执行多个进程的操作系统. 多任务系统可以划分为两类: 非抢占式多任务 进程会一直执行直到自己主动停止运行 抢占式多任务 Linux/Unix使用的是抢占式的方式:强制的挂起进程的动作就叫做抢占. 像所有unix…
第一章 Linux内核简介 1.1 Unix的历史 由于Unix系统设计简洁并且在发布时提供源代码,所以许多其他组织和团体都对它进了进一步的开发. Unⅸ虽然已经使用了40年,但计算机科学家仍然认为它是现存操作系统中最强大和最优秀的系统.从1969年诞生以来,由Dennis Ritchie和Ken Thompson的灵感火花点亮的这个Unix产物已经成为一种传奇,它历经了时间的考验依然声名不坠. 1.2 追寻Linus足迹:Linux简介 1.3 操作系统和内核简介 处理器在任何指定时间点上的活…
一个下午看了不少硬件层面的知识,看得太多太快容易忘记.于是在博客上写下读书笔记. 有关硬件 个人计算机架构&接口设备 主板芯片组为“南北桥”的统称,南北桥用于控制所有组件之间的通信. 北桥连接速度较快的组件(CPU.显卡.内存),被称为系统总线. 南桥连接速度较慢的组件(硬盘.USB.网卡),被称为I/O总线. (北桥频率称前端总线速度(FSB Hz),每次传输的位数为总线宽度(bit),总线频宽(M/s)则为“FSB*总线宽度”.) (例:前端总线速度为1600MHz,内存与北桥频宽为12.8…
操作系统的核心--内核 内核的职责 进程调度:Linux属于抢占式多任务操作系统,多个进程可同时驻留于内存,且每个进程都能获得对CPU的使用权.哪些进程获得对CPU的使用,以及每个进程能使用多长时间 ,都由内核进程调度程序决定. 内存管理:Linux采用了虚拟内在管理机制. 提供了文件系统 创建和终止进程:内核可将新程序载入内存,为其提供运行所需的资源.一旦程序执行完毕,内核还要确保释放其占用资源,以供后续程度重新使用. 对设备的访问:内核既为程序访问设备提供了简化版的标准接口,同时还要仲裁多个…
<Linux多线程服务器端编程>第3章主要讲的是多线程服务器的适用场合与常用的编程模型. 1.进程和线程 一个进程是"内存中正在运行的程序“.每个进程都有自己独立的地址空间(address space).将"进程"比喻为"人",每个人都有自己的记忆(memory),人与人通过谈话(消息传递)来交流,谈话既可以是面谈(同一台服务器),也可以在电话里谈(不同的服务器,有网络通信).面谈和电话谈的区别在于,面谈可以立即知道对方是否死了(crash,S…
转自:http://www.cnblogs.com/pluse/p/6296992.html 第三章后续部分重点介绍了后面章节所要使用的头文件及其实现,主要如下: ename.c.inc error_functions.h get_num.h tlpi_hdr.h 其中ename.c.inc文件定义了一个字符串数组,用于对应错误码的名称. error_functions.h文件声明了本书自定义的错误处理函数. get_num.h文件声明了本书自定义的数值提取函数. tlpi_hdr.h文件则包含…
1. 引言 守护进程是生存期长的一种进程.它们常常在系统引导装入时启动,仅在系统关闭时才终止.它们没有控制终端,在后台运行. 本章说明守护进程结构.如何编写守护进程程序.守护进程如何报告出错情况. 2. 守护进程的特征 基于BSD的系统下执行:ps -axj -a 显示由其他用户所拥有的进程的状态:-x 显示没有控制终端的进程状态:-j 显示与作业有关的信息 基于System V的系统下执行:ps -efj Linux下执行以上两个命令输出一致 常见的守护进程: kswapd,内存换页守护进程.…
在进行网络编程之前,先对网络以及互联网协议做一个了解. 推荐阮一峰的博客:(感谢) http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html --再去看一遍先-- --看完了-- 16.1引言 客户端.服务器架构 服务器是一个软件或者硬件,用来想一个或多个客户端提供所需要的“服务”.其中,硬件是指打印机.文件服务器等.软件服务器提供的服务主要是程序的运行.数据的发送与接收.合并.升级.或其他的程序或数据操…
1.引言 信号是软件中断. 信号提供了一种处理异步事件的方法. 2. 信号概念 信号的名字都是以3个字符SIG开头. Linux3.2.0支持31种信号.FreeBSD.Linux和Solaris作为实时扩展都支持另外的应用程序定义的信号. 在头文件signal.h(其中include的bits/signum.h)中,信号名都被定义为正整数常量,不存在编号为0的信号.kill函数对信号编号0有特殊的应用. 很多条件可以产生信号: 用户按下某些终端键时:Ctrl+C.Ctrl+\.Ctrl+Z 硬…
1. 进程标识 进程ID标识符是唯一.可复用的.大多数Unix系统实现延迟复用算法,使得赋予新建进程的ID不同于最近终止所使用的ID ID为0的进程通常是调度进程,也常被称为交换进程.它是内核的一部分,是系统进程. ID为1的进程通常是init进程,在自举过程结束时由内核调用.该进程负责在内核自举后启动一个Unix系统,它决不会终止,是一个普通的用户进程,但以超级用户特权运行. ID为2的进程是页守护进程,负责支持虚拟存储器系统的分页操作. on error struct tms { clock…