Linux内核分析(一)入门级别——Linux学习笔记

Linux内核组成:

Linux内核是Linux系统构成中的核心,由5个子系统组成。

进程调度(SCHED):

进程调度(SCHED)控制进程对CPU的访问,当需要运行下一个进程运行时,由调度程序选择优先级最高的进程,处于系统架构中心位置的进程调度, 是其他子系统的依赖,因为可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其他资源,则该进程是不可运行进程(阻塞态)Linux的进程调度机制比较简单的,是基于优先级的。

内存管理(Memory management):

内存管理(Memory management)允许多个进程安全地共享主内存区域,Linux的内存管理支持虚拟内存,即在计算机中允许的程序,其代码、数据、堆栈的总量可以超过实际物理内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中(Lazy load 惰性加载机制),必要时,操作系统负责在磁盘和内存交换程序块,内存管理从逻辑上分为硬件无关和硬件有关2个部分,硬件无关部分提供了进程的映射和逻辑内存的对换。硬件相关部分为内存管理硬件提供了虚拟接口。

网络接口(Network Interface):

网络接口(Network Interface)提供了对各种网络标准的存取和对各种网络硬件的支持。
网络接口可分为网络协议和网络驱动程序。
网络协议负责实现每一种可能的网络传输协议。
网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

进程间通信(Inter-Process Communication):

进程间通信(Inter-Process Communication)支持进程间的各种通信机制。

虚拟文件系统(Virtual File System):

虚拟文件系统(Virtual File System)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS 提供了多大数十种不同的文件系统,VFS其本身可以分为逻辑文件系统和设备驱动程序两个部分,逻辑文件系统指Linux所支持的文件系统,如ext2、Fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。

虚拟文件系统文件类型:

minix:
     是Minix操作系统使用的文件系统,是Linux最先使用的文件系统。
     它有许多缺点:分区只能小于64MB,只支持短文件名,单一的时间戳,等等。
     在软盘和动态磁盘领域仍然有用。
ext:
	 是对Minix的扩展。已完全被ext2取代,内核最终将不会支持它。
ext2:
	 是Linux使用的,性能很好的文件系统,用于固定文件系统和可活动文件系统。
	 它是作为ext文件系统的扩展而设计的。
	 ext2在Linux所支持的文件系统中,提供最好的性能(在速度和CPU使用方面)。
	 简短的说,ext2是Linux的主要文件系统。
ext3:
	是对ext2增加日志功能后的扩展,兼容ext2。
	ext2不用丢失数据和格式化就可以转换为ext3,ext3也可以转换为ext2(重新安装该分区)
xiafs:
	Minix文件系统的一个稳定,安全的扩展,提供基本的最常用的版本。(已经停止开发维护)
msdos:
	DOS, Windows计算机使用的文件系统,文件名不能超过8个字符,然后跟一个3个字符的后缀。
umsdos:
	是Linux使用的扩展的DOS文件系统,增加了长文件名支持,UID/GID,POSIX权限。
	特殊文件等而依然保持和DOS文件系统兼容。
vfat :
	是Windows95,Windows NT使用的扩展的DOS文件系统,增加长文件名支持。
proc :
	是一种假的文件系统,用于和内核数据结构接口, 不占用磁盘空间。
iso9660:
	是一种针对ISO9660标准的CD-ROM文件系统,自动支持两种扩展:
	High Sierra:是ISO9660标准的前身,Linux自动支持它。
	Rock Ridge:是Rock Ridge interchange Protocol协议的一个产品。
	用于进一步向Unix系统描述ISO9660文件系统下的文件。
	另外提供诸如长文件名,UID/GID,POSIX权限,等信息,Linux自动支持它。
hpfs:
	是OS/2使用的高性能的文件系统,在Linux系统中是只读的,因为缺乏相应的文档资料。
sysv:
	是SystemV/Coherent文件系统在Linux上的实现。
	实现了所有的Xenix,SystemV/386,和 Coherent文件系统。
nfs :
	是用于存取远方计算机硬盘的文件系统。
smb:
	是支持SMB协议的网络文件系统,Windows用它来实现工作组共享。
ncpfs:
	是Novell NetWare使用的,支持NCP协议的网络文件系统。
Devpts:
	是一个虚拟的文件系统,一般安装在/dev/pts。
	为了得到一个虚拟终端,进程打开/dev/ptmx,然后就可使用虚拟终端。
fat:
	不是一个单独的文件系统,而是msdos, umsdos 和vfat 文件系统的常用部分。
UFS:
	是一个广泛使用于各种操作系统的文件系统。
swap:
	是一种特殊的分区,用于在内存和硬盘间交换数据的文件系统。	
raiserfs:
	是Linux内核2.4.1以后(20011)支持的,一种全新的日志文件系统。
hfs:
	hfs(=hierarchical files system)是苹果文件系统。
ntfs:
	Windows NT文件系统。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值