前言
linux
一、linux组成
linux可以划分为4部分:linux内核,GNU工具,图形化桌面环境,应用软件。
二、linux内核
控制所有软件和硬件,分配硬件、执行软件。
1.系统内存管理
2.软件程序管理
3.硬件设备管理
4.文件系统管理
1.内存管理
不仅管理物理内存,还可创建和管理虚拟内存。
创建交换空间(swap spae)来不断地在交换空间和物理内存之间交换虚拟内存中的内容。
2.软件管理
运行的程序称为进程。
内核创建第一个进程(init进程)来启动其他所有进程,内核在启动任何进程时会在虚拟内存中分配一块区域存储该进程用到的代码和数据
3.硬件管理
在内核代码中加入硬件的驱动代码可实现Linux系统和硬件的通信,使内核与设备间能够交换数据。
在内核中插入硬件驱动代码的方式:
1.编译进内核的设备驱动代码
2.可插入内核的设备驱动模块(更好,不用重新编译内核)
linux将硬件设备当成特殊的文件,称为设备文件
4.文件管理
文件系统:ext(linux扩展文件系统)、ext1(第二扩展文件系统)、nfs(网络文件系统)…
linux内核采用虚拟文件系统(Virtual File System, VFS)作为与每个文件系统的接口,当每个文件系统被挂载和使用时,VFS将信息缓存在内存中。
二、GNU工具
GNU是个组织(GNU’s Not Unix)
主要有:核心GNU工具、shell、桌面环境
1.核心工具(coreutils)
包括:
用以处理文件的工具
用以操作文本的工具
用以管理进程的工具
2.shell
交互式工具,输入命令、解释命令、在内核中执行,linux默认的shell是bash shell。
shell脚本:将多个shell命令放入文件中作为程序执行
3.桌面环境
KDE、GNOME(CentOS采用)、Unity(Ubuntu采用)