Linux主要由四部分构成:
1. 系统内核:系统内核可以看作是系统的心脏,对外提供成为系统调用的接口,供外部程序调用内核提供的服务。其余的三部分都是通过系统调用完成各自的服务的。系统内核是系统的核心,包含了诸如进程管理,存储管理等核心功能的处理。内核的版本可以在系统登录时候看到,也可以通过uname-r获取
2. shell:shell是操作系统对用户提供的交互操作的接口,接收用户提供的命令并交给内核去执行,传统意义的shell是基于字符界面的,常见的shell如Bourne shell,Korn shell等。除了字符界面的shell,操作系统还提供了一种可视化的操作方式,如KDE,GNOME可视化界面。
3. 文件系统:用于管理存储在磁盘上的文件,Linux文件系统是基于树形结构的,支持文件和目录,Linux系统基本的目录结构可以使用tree命令查看。在系统里面,一切文件,包括对与硬件设备的操作也抽象成文件。为了保证安全性,提供了负责的管理权限,即支持UNIX下的文件权限方式,同样也支持独特的访问控制列表方式。
4. 使用工具:是linux系统提供的各种工具软件,在不同厂商的操作系统,实用工具各部相同,如编辑工具软件,计算器工具软件等。
Linux 有以下功能:
存储管理:利用芯片的保护模式,采用页式存储管理。
进程管理:进程是linux系统的核心,所有的任务都是以进程的方式出现的。
文件系统:提供了对各种系统文件支持,包括windows系统的文件。
网络通信:强大的网络通信功能,支持TCP/IP等多种网络协议。
多媒体功能:提供了多种多样的多媒体功能,支持音频,视频设备,即插即用设备。提供强大界面开发工具包。
系统内核的组成:
内核是一个非常复杂的软件系统,主要由进程调度,内存管理,虚拟文件系统和进程间通信机制等模块组成。
进程调度用户控制进程对CPU的访问,再多任务系统里面,同时存在多个可以被调度的任务,系统需要根据一定的策略选择占用CPU资源投入运行的进程,如果某个进程在等待其他资源,则该进程处于睡眠状态,等资源就绪再被唤醒,Linux系统把CPU资源划分成大小相同的时间片,每个占用CPU的进程完成一个时间片后,释放CPU资源,供其他进程使用,在调度策略上有三种:分时调度,先到先服务的实时调度,时间片轮转的实时调度。