ext4日志系统分析(一)
ext4文件系统用的是jbd2日志系统。本篇博客从内核源码着手,大致分析jbd2日志系统。
ext4文件系统用的是jbd2日志系统。本篇博客从内核源码着手,大致分析jbd2日志系统。
假设我们把内核比作一个服务器(我是说假设),那么正在CPU上运行的进程、发出中断请求的外部设备就相当于一个客户端,客户端不断访问服务器,时间也不一定。就像是服务器会相应客户端的请求一样,内核也会响应进程与外设的请求。
学习linux文件系统时考虑一个具体的问题:我们经常会用U盘传输东西到计算机中。当我们把U盘插入到一台计算机上,并且从U盘中复制文件到计算机里,然后卸载U盘,将U盘拔出。操作系统在这一连串过程中做了些什么?这篇博客仅从文件系统的角度利用linux内核源码浅析该过程。本篇博客使用的linux内核版本为3.10.0。
TCP/IP协议分层模型与OSI参考模型十分相似。之前我介绍过OSI参考模型每层的目的。TCP/IP的每一层都对应有协议,如果我们了解了协议处于其中的哪一层,那么我们就可以对协议的目的有所了解。
这篇博客想要讲解的是线程的暂停与停止。暂停与停止的方法各有其特点与优缺点,我会在这里逐一进行分析,并且大都是用举例子的方式来进行阐述。
OSI参考模型共分七层,接下来我举例讲解每一层具体的作用。
我们先来看一下我写的一个试验程序
线程也可以叫做轻量级进程。是一个程序执行流的最小单元。或许这么讲还不够好理解。打个比方:我们在电脑上登陆了QQ,那么QQ是一个进程单元。线程是什么呢?线程就是我们跟别人聊天、下载别人传送来的文件或者跟好友视频着。大家都知道,我们是可以用QQ一边跟好友视频、一边打字聊天、一边下载文件的,这就是多线程技术。这样我们就节省了很多等待的时间。这就是多线程技术的好处。
第一次接触linux系统编程,先从最简单的做起,首先探索一下more命令的实现方法。