以前学习过Linux的知识,但感觉学的杂,不系统,基本上是用到什么知识点看什么,比较乱。现在利用休息时间在来整理下unix和linux的知识体系。就从基础开始吧!
Unix系统的组件介绍:
1 内核
最底层的东西。它提供了系统的核心功能并允许进程以一种有序的方式访问硬件。
内核支持系统以多用户,多任务模式运行。
内核是为特定的硬件构建的。
内核最重要的功能之一是简化了进程的创建和管理。
内核还管理内存,它是任何系统的核心元素。它必须为所有进程提供足够的内存,并且有些进程还会需要大量的内存。有时候一个进程需要的内存会超出可以使用的内存大小,这时就要用到虚拟内存。
当没有足够的物理内存时,系统通过把进程的一部分转移到硬盘上已设法容纳进程。当再次需要进程中被转移到硬盘上的那一部分时,在将其返回物理内存中。这个过程叫做Paging(页面调度)。它使得系统即使在有限的物理内存的条件下也能具备多任务处理的能力。
swap:交换,内核凭借这中机制识别出最不繁忙的进程或是那些不需要立刻执行的进程。然后内核将整个进程移出RAM,放入硬盘,直到下次在需要这个进程的时候。swap space空间耗尽将引起严重的问题。
2 shell
是一种命令行解释器,它使得用户能够和OS进行交互。可以直接使用它来管理和运行系统。
大多数系统中有三种shell:Bourne(sh),C shell(csh),Korn shell(ksh)。shell通过命令行以几乎独占的方式使用。