您的位置首页>企业动态>

<img class="yuanchuan_images" title="原创" style="display: none;margin-right: 5px;" src="/d/public/images/yuanchuang.png">Linux的系统选择、体系结构及应用详解

摘要大家好,我是九游会app的本期栏目编辑小友,现在为大家讲解Linux的系统选择、体系结构及应用详解问题。Linux几乎无处不在。无论是服务器建设还

大家好,我是九游会app的本期栏目编辑小友,现在为大家讲解Linux的系统选择、体系结构及应用详解问题。

Linux几乎无处不在。无论是服务器建设还是客户端开发,操作系统的基本技能都是整个栈必备的。

系统选择。

Linux发行版大致可以分为两类,一类是商业公司维护的发行版,另一类是社区组织维护的发行版。前者以著名的红帽(RHEL)为代表,后者以德比安为代表。

红帽应该叫红帽系列,包括RHEL、Fedora和centos(社区克隆版rhel,免费)。严格来说,Ubuntu不是一个独立的发行版。Ubuntu基于Debian增强,是一个近乎完美的Linux桌面系统,具备了Debian的所有优点和自身增强的优势。Ubuntu社区认为实用性和创新性高于一切。

如果你只需要一个稳定的服务器系统,那么CentOS是最好的选择。安装后,简单配置后就能提供非常稳定的服务。但是对于云环境,unbantu可能是好的。hadoop最初是在ubantu上开发的。

体系结构

了解建筑,才能有更好的方向感。Linux内核和用户有两种模式。内核、外壳和文件系统共同构成了基本的操作系统结构。Linux内核由以下几个部分组成:内存管理、进程管理、设备驱动、文件系统和网络管理。

Linux内核

了解linux内核可以充分利用资源,对系统调优有目的性。

Linux将内存划分为易于处理的“内存页”,并提供了4KB缓冲区的抽象,比如slab分配器。进程实际上是特定应用程序的运行实体,进程调度控制进程对CPU的访问。Linux中常见的进程间通信机制包括信号、管道、共享内存、信号量和套接字。内核SCI提供了一个API来创建一个新的进程(fork、exec或pos ),停止进程(kill、exit),并在它们之间进行通信和同步(signal或pos 机制)。

Linux操作系统将独立的文件系统组合成一个层次树结构,一个单独的实体代表这个文件系统。由于Linux支持多种不同的文件系统,并将其组织成统一的虚拟文件系统,设备驱动提供了一套操作系统可以理解的抽象接口,完成与操作系统的交互,而与硬件相关的具体操作细节则由设备驱动完成。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动组成。网络驱动程序负责与硬件设备通信,每个可能的硬件设备都有相应的设备驱动程序。

Linux文件系统

Linux系统可以支持目前很多流行的文件系统,推荐EXT4。

Linux的以下文件类型主要包括:

1)普通文件,分为纯文本和二进制。

2)存储文件的目录文件。

3)链接文件,指同一文件或目录的文件。

4)设备档案分为区块设备和人物设备。

5)提供进程间通信的管道文件。

6) Socket文件,与网络通信相关。

使用Linux的标准目录结构,安装程序已经为用户创建了一个文件系统和一个完整固定的目录组成,并指定了每个目录的功能和其中的文件类型。

目录名

简要描述

/bin

二进制可执行命令。

/dev

设备专用文件

/等

系统管理和配置文件。

/etc/rc.d

启动的配置文件和脚本。

/home

用户主目录的基点,比如用户abc的主目录就是/home/user,可以用~abc表示/lib标准程序设计库/sbin系统管理命令,这里存放的是系统管理员使用的管理程序/tmp公用的临时文件存储点/root系统管理员的主目录/mnt系统提供这个目录是让用户临时挂载其他的文件系统。/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件/proc虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。/var某些大文件的溢出区,比方说各种服务的日志文件/usr最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:/usr/X11R6 存放X window的目录/usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序/usr/doc linux文档/usr/include linux下开发和编译应用程序所需要的头文件/usr/lib 常用的动态链接库和软件包的配置文件/usr/man 帮助文档/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。shell 有很多类型,这里推荐BASH。BASH是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。Linux Shell 及命令

Linux 的命令很多,下面给出了一个简单的分类。

在shell 中组织linux 的命令来完成一系列的任务,就是shell 编程了。Shell,Perl和Python 是Linux 上最常用的脚本语言,我还是推荐使用Python。

Linux 应用

标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、Internet工具和数据库等。

对于文本编辑而言,Emacs 和vim 各有千秋,通过插件配合甚至可以作为IDE使用。 个人感觉,VIM 还应该是必备技能。vim的命令也很多,整理如下:

就应用的管理而言,ubuntu 需熟知apt命令,centos 则是yum命令。当然了,源代码编译安装是必须的,makefile的写法,configure/autoconfig/make 的用法要手到擒来才好。

Linux 几乎无处不在,不论是服务器构建,还是客户端开发,操作系统的基础技能对全栈来说都是必备的。

系统的选择

Linux发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

Redhat,应该称为Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社区克隆版本,免费)。Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian加强而来,一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。Ubuntu社区认为实用性和创新性高于一切。

如果你需要一个比较稳定的服务器系统而已,那么最好的选择就是CentOS了,安装完成后,经过简单的配置就能提供非常稳定的服务了。但是对云环境而言,unbantu也许不错,hadoop最早就是在ubantu上开发的。

体系结构

了解体系结构,可以有一个较好的方向感。Linux 有kernel和user两种模式,内核、shell和文件系统一起形成了基本的操作系统结构,Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。

Linux内核

了解linux内核,可以充分利用资源,在系统调优时有目标感。

Linux 将内存划分为容易处理的“内存页”,提供了对 4KB 缓冲区的抽象,例如 slab 分配器。进程实际是某特定应用程序的一个运行实体,进程调度控制进程对CPU的访问。Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套接字等。 内核通过 SCI 提供了一个API来创建一个新进程(fork、exec 或 POSⅨ),停止进程(kill、exit),并在它们之间进行通信和同步(signal 或者 POSⅨ 机制)。

Linux 操作系统将独立的文件系统组合成了一个层次化的树形结构,并且由一个单独的实体代表这一文件系统。由于 Linux 支持许多不同的文件系统,并且将它们组织成了一个统一的虚拟文件系统.设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程序完成。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。 网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

linux 文件系统

Linux系统能支持多种目前流行的文件系统,推荐用EXT4。

Linux下面的文件类型主要有:

1) 普通文件,分为纯文本和二进制。

2) 目录文件,存储文件的地方。

3) 链接文件,指向同一个文件或目录的的文件。

4) 设备文件,分为块设备和字符设备。

5)管道文件,提供进程间通信

6)套接字文件,与网络通信有关

Linux使用标准的目录结构,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。

目录名简要说明/bin二进制可执行命令/dev设备特殊文件/etc系统管理和配置文件/etc/rc.d启动的配置文件和脚本/home用户主目录的基点,比如用户abc的主目录就是/home/user,可以用~abc表示/lib标准程序设计库/sbin系统管理命令,这里存放的是系统管理员使用的管理程序/tmp公用的临时文件存储点/root系统管理员的主目录/mnt系统提供这个目录是让用户临时挂载其他的文件系统。/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件/proc虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。/var某些大文件的溢出区,比方说各种服务的日志文件/usr最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:/usr/X11R6 存放X window的目录/usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序/usr/doc linux文档/usr/include linux下开发和编译应用程序所需要的头文件/usr/lib 常用的动态链接库和软件包的配置文件/usr/man 帮助文档/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。shell 有很多类型,这里推荐BASH。BASH是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。Linux Shell 及命令

Linux 的命令很多,下面给出了一个简单的分类。

在shell 中组织linux 的命令来完成一系列的任务,就是shell 编程了。Shell,Perl和Python 是Linux 上最常用的脚本语言,我还是推荐使用Python。

Linux 应用

标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、Internet工具和数据库等。

对于文本编辑而言,Emacs 和vim 各有千秋,通过插件配合甚至可以作为IDE使用。 个人感觉,VIM 还应该是必备技能。vim的命令也很多,整理如下:

就应用的管理而言,ubuntu 需熟知apt命令,centos 则是yum命令。当然了,源代码编译安装是必须的,makefile的写法,configure/autoconfig/make 的用法要手到擒来才好。

.dfma { position: relative; width: 1000px; margin: 0 auto; } .dfma a::after { position: absolute; left: 0; bottom: 0; width: 30px; line-height: 1.4; text-align: center; background-color: rgba(0, 0, 0, .5); color: #fff; font-size: 12px; content:"广告"; } .dfma img { display: block; }
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。