新闻中心 News

浅谈Linux

发布者:阿普奇来源:本站日期:2017-05-25 03:53:15

Linux是一套免费使用和自由传播的类UNIX操作系统,极佳的性能价格比使Linux快速发展。Linux是Internet的产物,代表一种开放、平等、自由和梦想,体现了人类互助的天性。在Linus Torvalds的主持开发下,一个来自世界各地的许多使用者合作开发的新型操作系统问世了,这就是闻名于世的Linux操作系统。


QQ图片20170525154010.png


一、Linux简史

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。

1986年,芬兰赫尔辛基大学的Andrew Tanenbaum教授为了给学生讲授《计算机操作系统》课程,开发出了Minix系统,这是Unix系统的一个变体(称之为类Unix系统)。1991年Andrew Tanenbaum的学生Linus Torvalds,由于对课堂上使用的Minix系统不太满意,于是开始在80386 PC机上试着改进Minix系统。

1991年10月,Linus Torvalds在新闻组comp.os.minix发布了大约一万行代码的Linux v0.01版本。正式向外宣布Linux内核的诞生(Free minix-like kernel sources for 386-AT)。它不具有网络功能,只能在Intel 80386系列PC上运行。唯一支持文件系统的是Minix文件系统。内核能通过保护地址空间来执行正确的UNIX进程。

1994年3月,Linux 1.0发布,具有里程碑的意义。代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。至此,Linux的代码开发进入良性循环,并在未来几年后出现了很多版本的Linux,例如Debian,Red Hat,Ubuntu等;

2001年12月Red Hat为IBM s/390大型计算机提供了Linux解决方案,从此结束了AIX孤单独行的历史;

2002年是Linux企业化的一年。2月,微软公司宣布扩大公开代码行动。3月,内核开发者宣布新的Linux系统支持64位的计算机;

2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域;

2004年9月IBM准备退出OpenPower服务器,仅运行Linux系统;

2008年9月,谷歌正式发布了基于Linux内核上运行的Android 1.0系统。


二、Linux的体系结构

1、Linux的特点

Linux操作系统支持几乎所有在其他UNIX操作系统的实现上所能找到的功能,另外还包括一些UNIX系统的其他实现版本上没有的功能。Linux的特点有:(1)可靠的系统安全;(2)多用户、多任务;(3)良好的用户界面;(4)开放性,Linux遵循开放系统互连国际标准,可以和其他硬件和软件互连;(5)良好的可移植性;(6)Linux提供了TCP/IP网络协议,同时也支持完备的TCP/IP客户与服务器功能;(7)Linux可以支持各种类型的文件系统,支持广泛的硬件。

2、Linux内核组成

Linux内核主要由进程调度子系统(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、输入/输出子系统、进程通信机制、网络子系统等子系统组成。

3、Linux的体系结构

  Linux系统结构由三部分代码组成,即内核、系统库和系统实用程序,Linux系统保留了传统的UNIX操作系统的模式。


三、Linux中的进程管理

1、Linux的进程

Linux是一个多任务的操作系统,每一个进程都有一定功能和权限,运行在自己的虚拟地址空间中。Linux通过进程调度程序在多个进程之间实现合理的调度,在Linux系统中,进程与任务是相同的概念。

在Linux中,当用户输入shell命令,要求执行一个命令文件或运行各种应用程序时,操作系统就为每个进程建立一个运行环境,从而形成进程的动态实体,即为创建了进程。

2、Linux的进程状态

在进程的生命期内,进程所处的状态经常在变化着。通过这些状态的变化刻画了进程从创建、活动到消亡的过程。在每个进程的task_strut结构中,Linux定义了state域来描述进程的调度状态。Linux的进程共有五种调度状态,即TASK_RUNNING状态、TASK_INTERRUPTIBLE状态、TASK_UNINTERRUPTIBLE状态、TASK_STOPPED状态和TASK_ZOMBIE状态。

3、Linux的进程调度

一般来说调度就是执行新进程或中断老进程,但对于Linux来说调度还有另一个任务,那就是运行多种内核任务。Linux的进程调度操作由schedule()函数完成。Linux有两个独立的进程调度算法。一个是在多进程中的公平抢占调度的分时算法,另一个是为实时任务设计的绝对优先权比公平更为重要的算法。Linux的实时调度属于软实时。调度程序严格保证实时进程之间相对的优先级。

4、Linux中的进程控制

Linux中使用系统调用来实现进程控制。如进程的建立和fork()系统调用;程序执行和系统调用exec();等待子进程结束系统调用wait();结束子进程系统调用exit();shell进程工作过程。


四、Linux的存储管理

Linux中的存储管理分为两部分,第一部分处理分配和回收物理内存,包括分页、分页组和小内存块。第二部分处理虚拟内存,就是内存被映射到正在运行的进程的地址空间上。

Linux内核的内存分配以静态分配和动态分配并存。物理页面管理程序与内存缓冲高速缓存、页面高速缓存和虚拟内存系统三个子系统密切相关。

Linux中的虚拟内存采用了的是分页机制。Linux虚拟内存系统根据需要创建虚拟内存的页面,并管理从磁盘装入页面,或者是按照要求将页面交换到磁盘上。在Linux系统下,虚拟内存管理程序对进程地址空间有两种不同的观点:作为一组独立的区域,或作为一组页面。地址空间一种是逻辑视图,一种是物理视图。

虚拟地址空间被分为四部分:页目录索引、页间目录索引、页表索引和偏移量。


五、Linux设备管理

Linux把所有的设备分为三类:块设备、字符设备和网络设备。

块设备支持与文件相同的存取机制,为已打开的块设备文件提供文件操作和字符设备大致相同。块设备为系统的所有磁盘设备提供了一个主要接口。对磁盘来说,性能显得尤为重要,块设备系统必须提供确保尽可能快速的访问磁盘的功能。这种功能通过块缓冲和请求管理程序这两个系统部件实现。

字符设备是Linux中最简单的设备,可以作为文件访问,应用程序可用标准的系统对字符设备进行打开、关闭、读、写等操作。字符设备驱动程序可以是任何不能对固定数据块进行随机访问的设备。任何字符设备驱动程序注册Linux内核的同时必须也要注册一组函数,这些函数执行驱动程序能处理的文件I/O操作。

网络是Linux的关键功能,Linux既支持标准的互联网协议,也能实现本系统到其他非UNIX操作系统的许多协议。Linux最初主要运行在个人计算机上,而不是大型工作站或是服务器系统,它支持多种用于个人计算机网络的协议,如IPX。并且,我们都知道在使用Linux手动安装软件包的时候往往会出现需求的其他组件缺失导致软件不能运行,需要去手动安装所需要的组件,当遇到大型软件的时候层级的迭代性就更为严重,也就更为复杂繁琐,这就是Linux软件包安装的依赖性问题。所以在解决Linux软件包的依赖关系上,Linux提供了yum工具在线升级,yum能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。安装软件时 在 Linux 主机中使用 yum 工具在线升级、安装软件时,往往受到网络连接速度、带宽的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器、大量软件包需要升级时,更新的缓慢程度可能令人难以忍受。相比较而言,本地 yum 源服务器最大的优点在于局域网的快速网络连接和稳定性。有了局域网中的 yum 源服务器,即便在 Internet 连接中断的情况下,也不会影响其他 yum 客户端的软件升级和安装。 


六、Linux的文件系统

Linux保留了UNIX的标准文件系统模型。

Linux系统内核中包括一个虚拟文件系统层,可以间接地控制文件系统调用,以达到控制物理I/O的目的。

Linux使用的标准磁盘文件系统为EXT2,EXT2文件系统支持基本UNIX文件类型:一般文件、目录文件、设备特别文件和符号连接文件。EXT2文件系统还支持UNIX操作系统不支持的其他高级功能。

由此可见,不论Linux操作系统的管理还是文件系统都有它的独到之处。Linux是一个基于UNIX标准的现代开放式操作系统。他能高效而稳定地运行在普通计算机硬件上,也能运行于其他各种平台上。


更多支持Linux系统的工业计算机产品请访问:http://www.apuqi.com/products

二维码.jpg

 

 

 

 

 

在线咨询
+

在线咨询

400-702-7002

合作伙伴