目的:
了解一台能够对外提供服务的Linux服务器组成架构原理

如图所示:一台Linux服务器能够对外提供服务,它大体的组成架构如下:
1、硬件
硬件比较容易理解就是指服务器的CPU、内存、磁盘、电源、风扇、主板、raid卡、等等等等,硬件最底层的,硬件本身是不能对外提供服务的。
2、内核
内核也就是kernel,所有Linux发型版本都是基于这个kerne而发展起来的,kernel本身也不对外提供任何服务,kernel是唯一能直接与硬件打交道的程序。kernel负责硬件的协调和调度,比如上层应用说我要将磁盘上的某段数据加载到内存中进行使用。那kernel就负责进行调度。
3、系统调用
它是一个实现各种系统功能的子程序。系统调用主要为程序的运行提供服务,典型的服务包括执行新程序、打开文件、读写文件、分配内存、获取当前时间等。操作系统通过一组数量有限并且定义良好的入口点来“暴露”其提供的服务,这些入口点就是系统调用。
4、shell
Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它是用户与操作系统打交道的桥梁。用户通过shell下发指令,shell通过系统调用在到kernel最终告知计算机硬件具体要做什么操作。
5、lib调用
库调用建立在系统调用之上,其内部可能会调用一个或多个系统调用,通常用于为应用程序提供一些更加方便的功能。因此,库过程可以是对系统调用的“包装”,从而为应用程序提供一些更加实用和便捷的服务。
6、应用程序
应用程序它通过对系统进行调用或者通过lib调用来对外提供某种服务,我们可以认为它是服务器提供服务的入口点,建立在操作系统之上。它主要实现对外的各种服务。比如数据库服务,web服务等等。
网友评论