STEMHA's Blog

Linux-特殊文件系统

前言

网络和磁盘文件系统能够使用户处理存放在内核之外的信息。
特殊文件系统可以为系统程序员和管理员提供一种容易的方式来操作内核的数据结构并实现操作系统的特殊特征。

Linux-虚拟文件系统

linux设计思想

Linux作为一个最著名的自由软件,几乎处处体现了“自由”的思想,你可以编译适合自己系统要求的内核,或者轻松添加别人开发的新的模块。只要你有实力,你还可以自己写一个新的Linux 支持的文件系统。
Linux 不仅支持多种文件系统,而且还支持这些文件系统相互之间进行访问。Linux成功的关键因素之一是它具有与其他操作系统和谐共存的能力,你能够透明的安装具有其他操作系统文件格式的磁盘分区(比如Windows系统)。这一切都要归功于神奇的虚拟文件系统。

(阅读笔记)网络信息空间的大数据计算

原文介绍

网络信息空间的大数据计算 作者:胡春明、马帅、怀进鹏 ,中国计算机学会通讯

我们需要知道什么?

大数据有什么特征?怎么产生的?这些特征带来了哪些影响?大数据时代的研究方法是不是要变化一下?有了大数据,我们需要用它来做计算,那么大数据计算在不同的层次(数据-算法-系统)又会遇到什么样的挑战?

Linux-信号

前言

信号是什么?

信号(signal)是很短的消息(通常是一个数,以此来标识信号),可以被发送到一个进程或一组进程。

信号可以干什么?

信号在最早的Unix系统中即被引入,用于在用户态进程间通信。内核也用信号通知进程系统所发生的事件。

Linux模块(modules)

前言

Linux 是一个整体式的内核(Monolithic Kernel)结构,也就是说,整个内核是一个单独的、非常大的程序。

  • 从实现机制来说,我们又把它划分为5个子系统(前一篇文章有介绍),内核的各个子系统都提供了内部接口(函数和变量),这些函数和变量可供内核所有子系统调用和使用。

Linux 的整体式结构决定了要给内核增加新的成分也是非常困难,因此Linux 提供了一种全新的机制—可装入模块(Loadable Modules,以下简称模块)

  • 用户可以根据自己的需要,在不需要对内核进行重新编译的条件下,模块能被动态地插入到内核或从内核中移走。

模块的特点

  • 模块本身可以不被编译入内核映像,从而控制了内核的大小。
  • 模块一旦被加载,它就和内核中的其他部分完全一样。

我们需要知道什么?

什么是模块?为什么要使用模块?

Linux内核的组成

概述

Linux内核主要由进程调度(SCHED)内存管理(MM)虚拟文件系统(VFS)网络接口(NET)进程间通信(IPC)5个子系统组成。

Linux内核的编译及加载

编译内核需要做什么?

  1. 查找并且下载一份内核源代码
  2. 配置内核。
  3. 编译内核和模块。
  4. 配置启动文件。

Linux内核目录文件说明

前言

Linux内核也是一个抢占式多任务内核。这意味该内核可以暂停一些任务来保证任何应用都有机会来使用CPU。比如:

如果一个应用正在运行但是正在等待一些数据,内核会把这个应用暂停并允许其他的程序使用新释放的CPU资源,直到数据到来。
否则的话,系统就会浪费资源给那些正在等待数据或者其他程序执行的的任务。
内核将会强制程序去等待或者停止使用CPU。没有内核的允许,应用程序不能脱离暂停或者使用CPU。

Linux设计思想是“一切皆文件”:

设备作为文件显示在/dev文件夹下,如果一个用户想要访问在存储卡上的数据,他们能通过设备文件访问这些数据。

已编译的Linux内核:

在引导文件夹(/boot),用户会看到诸如“vmlinux”或者“vmlinuz”的文件。这两者都是已编译的Linux内核。
以“z”结尾的是已压缩的。“vm”代表虚拟内存。
SPARC处理器的系统上,用户可以看见一个zImage文件。部分用户可以发现一个bzImage文件,这是一个已压缩的Linux内核。
这些引导文件都是不能更改的,除非用户知道他们正在做什么。否则系统会变成无法引导,启动不了。

Linux内核是所有Linux系统的核心。如果有任何恶意代码控制或破害了内核的任何一部分,那么系统会严重受损,文件可能被删除或损坏,私人信息可能被盗等等。

注意事项: 绝不在内核源代码内移动文件,除非你知道你在做什么。否则,编译会由于丢失文件失败。

内核在操作系统目录下的路径一般为:/usr/src/

Linux-性能分析,测试与调优工具(2)

常用工具

top、vmstat、iostat和sar

top命令用于显示处理器的活动状况。在缺省情况下,显示占用CPU最多的任务,并且每隔5s做一次刷新;
vmstat命令用于报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息;
iostat命令用于分析各个磁盘的传输闲忙状况;
sar用于收集、报告或者保存系统活动信息,其中,sar用于显示数据,sar1和sar2用于收集和保存数据。

Linux程序调试-GDB调试器

我们需要知道什么?

GDB是什么?有什么作用呢?
GDB的用法有哪些?

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×