简介 作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux...
简介 作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux...
一、CPU指令的执行过程 几乎所有的冯·诺伊曼型计算机的 CPU,其工作都可以分为 5 个阶段:取指令、指令译码、执行指令、访存取数、结果写回。 图1 CPU指令的执行阶段 ...
在阅读很多底层的代码时,经常会碰到一个所谓内存屏障的概念,经常搞得一头雾水。本文将对这个概念进行一个系统的介绍。 一、为什么需要内存屏障 内存屏障的引入,本质上是由于CPU重...
简介 作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux...
一、学习操作系统(Linux内核)的重要性 为什么要学习Linux内核,这个问题我相信很多人都不一定答得上来。只是从技术层上讲,对内核的研究会加深我们的技术的理解,更多的理解...
为了让大家建立知识体系,零散的讲可能会让读者觉得有点难以接受,晦涩。所以本文呢,整体的讲解下内核重要的5个子系统。首先一张熟悉的图来说明GNU/linux的基本体系结构: 体...
上面讲的自旋锁,信号量和互斥锁的实现,都是使用了原子操作指令。由于原子操作会 lock,当线程在多个 CPU 上争抢进入临界区的时候,都会操作那个在多个 CPU 之间共享的数...
1.什么是内存屏障?,为什么需要内存屏障? 首先,为了性能编译器和处理器都会对指令进行重排序。 什么是内存屏障:内存屏障是一条指令,该指令可以对编译器(软件)和处理器(硬件)...
因为现代操作系统是多处理器计算的架构,必然更容易遇到多个进程,多个线程访问共享数据的情况,如下图所示: 图中每一种颜色代表一种竞态情况,主要归结为三类: 进程与进程之间:单核...
当内存不足时会发生什么,结果很简单,linux的内存用完了,无法申请缓冲区,内核会挑选进程将其杀死,一般情况下,杀死正在申请内存的程序。频繁的进行磁盘swap操作,经常会出现...
PCI即Peripheral Component Interconnect,中文意思是“外围器件互联”,是由PCISIG (PCI Special Interest Grou...
1. 缓存简介 在编程中,缓存是很常见也很有效的一种提高程序性能的机制。 linux内核也不例外,为了提高I/O性能,也引入了缓存机制,即将一部分磁盘上的数据缓存到内存中。 ...
我觉得java;Pascal程序员或者说服务器端程序员对linux的学习可以分几个部分: 运维相关的,你得知道怎么运行cmd,编写简单的shell脚本,基本的string处理...
在阅读很多底层的代码时,经常会碰到一个所谓内存屏障的概念,经常搞得一头雾水。本文将对这个概念进行一个系统的介绍。 一、为什么需要内存屏障 内存屏障的引入,本质上是由于CPU重...
在当今社会计算机(computer)俗称电脑,已经成为我们日常生活中无法取代的必需品,那么什么是计算机?让我们来了解一下吧~ 一、计算机的组成及其功能 计算机是什么 计算机(...
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Li...
1、虚拟文件系统的分层结构 上层:虚拟文件系统 底层:特定文件系统模块,例如:网络文件系统(nfs、smb)等其他类型文件系统 虚拟文件系统的目的:将接口暴露给用户,屏蔽底层...
一.先来先服务调度算法 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列...