一、 Linux的主要特点 1符合POSIX 10031标准POSIX 10031标准定义了一个最小的Unix *** 作系统接口,任何 *** 作系统只有符合这一标准,才有可能运 行Unix程序。考虑到Unix具有丰富的应用程序,当今绝大多数 *** 作系统都把满足POSIX 10031标准作为实现 目标,Linux也不例外,它完全支持POSIX 10031标准。另外,为了使Unix System V和BSD上的程序能直接在 Linux上运行, Linux还增加了部分System V和BSD的系统接口,使Linux成为一个完善的Unix程序开发系统。 CT6itug
CT6itug
2支持多用户访问和多任务编程Linux是一个多用户 *** 作系统,它允许多个用户同时访问系统而不会造成用户之间的相互干扰。另外, Linux还支持真正的多用户编程,一个用户可以创建多个进程,并使各个进程协同工作来完成用户的需求 CT6itug
CT6itug
3采用页式存储管理 页式存储管理使Linux能更有效地利用物理存储空间,页面的换入换出为用户提供了更大的存储空间。 CT6itug
CT6itug
4支持动态链接用户程序的执行往往离不开标准库的支持,一般的系统往往采用静态链接方式--即在装配阶段就已将 用户程序和标准库链接好,这样,当多个进程运行时,可能会出现库代码在内存中有多个副本而浪费存储 空间的情况。Linux 支持动态链接方式,当运行时才进行库链接,如果所需要的库已被其它进程装入内存, 则不必再装入,否则才从硬盘中将库调入。这样能保证内存中的库程序代码是唯一的。 CT6itug
CT6itug
5支持多种文件系统 Linux能支持多种文件系统。目前支持的文件系统有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、 PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系统是EXT2,它的文件名长度可 达255字符,并且还有许多特有的功能,使它比常规的Unix文件系统更加安全。 CT6itug
CT6itug
6支持TCP/IP、SLIP和PPP在Linux中,用户可以使用所有的网络服务,如网络文件系统、远程登录等。SLIP和PPP能支持串行线上的 TCP/IP协议的使用,这意味着用户可用一个高速Modem通过电话线连入Internet网中。 CT6itug
CT6itug
除了上述基本特征外,Linux还具有其独有的特色: CT6itug
CT6itug
1支持硬盘的动态Cache 这一功能与MS DOS中的Smartdrive相似。所不同的是,Linux能动态调整所用的 Cache存储器的大小,以适合当前存储器的使用情况,当某一时刻没有更多的存储空间可用时,Cache将被减少, 以增加空闲的存储空间,一旦存储空间不再紧张,Cache的大小又将增加。2支持不同格式的可执行文件 Linux具有多种模拟器,这使它能运行不同格式的目标文件。其中,DOS和 MS Windows正在开发之中,iBCS2模拟器能运行SCO Unix的目标程序。(iBCS2 模拟器不是Linux标准核心的 一部分,但可从ftpinformatikhu berlinde:/pub/os/linux下载) CT6itug
CT6itug
二、 Linux的主要构成 CT6itug
CT6itug
Linux采用页式存储管理机制,每个页面的大小随处理机芯片而异。例如,Intel 386处理机页面大小 可为4KB和2MB两种,而Alpha处理机页面大小可为8KB、16KB、32KB和64KB。页面大小的选择对地址变换算 法和页表结构会有一定的影响,如Alpha的虚地址和物理地址的有效长度随页面尺寸的变化而变化,这种变 化必将在地址变换和页表项中有所反映。在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,为了建立虚拟空间和物理空 间之间的映射,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址。页表还对物理页 的访问权限作出了规定,定义了哪些页可读写,哪些页是只读页,在进行虚实变换时,Linux将根据页表中规 定的访问权限来判定进程对物理地址的访问是否合法,从而达到存储保护的目的。 Linux存储空间分配遵循的是不到有实际需要的时候决不分配物理空间的原则。当一个程序加载执行时, Linux只为它分配了虚空间,只有访问某一虚地址而发生了缺页中断时,才为它分配物理空间,这样就可能 出现某些程序运行完成后,其中的一些页从来就没有装进过内存。这种存储分配策略带来的好处是显而易见的,因为它最大限度地利用了物理存储器。尽管Linux对物理存储器资源的使用十分谨慎,但还是经常出现物理存储器资源短缺的情况。Linux有一 个名为kswapd的守护进程专门负责页面的换出,当系统中的空闲页面小于一定的数目时,kswapd将按照一定的淘 汰算法选出某些页面,或者直接丢弃(页面未作修改),或者将其写回硬盘(页面已被修改)。这种换出方式不 同于较旧版本Unix的换出方式,它是将一个进程的所有页全部写回硬盘。相比之下,Linux的效率更高。 CT6itug
CT6itug
2进程管理在Linux中,进程是资源分配的基镜ノ唬 凶试炊际且越 涛 韵罄唇 蟹峙涞摹在一个进程的生 命期内,它会用到许多系统资源,会用CPU运行其指令,用存储器存储其指令和数据,它也会打开和使用文件 系统中的文件,直接或间接用到系统中的物理设备,因此,Linux设计了一系列的数据结构,它们能准确地描 述进程的状态和其资源使用情况,以便能公平有效地使用系统资源。Linux的调度算法能确保不出现某些进程 过度占用系统资源而导致另一些进程无休止地等待的情况。 CT6itug
CT6itug
进程的创建是一个十分复杂的过程,通常的做法需为子进程重新分配物理空间,并把父进程空间的内容全 盘复制到子进程空间中,其开销非常大。为了降低进程创建的开销,Linux采用了Copy on write技术,即不 拷贝父进程的空间,而是拷贝父进程的页表,使父进程和子进程共享物理空间,并将这个共享空间的访问权限 置为只读。当父进程和子进程的某一方进行写 *** 作时,Linux检测到一个非法 *** 作,这时才将要写的页进行复制 。这一做法免除了只读页的复制,从而降低了开销。Linux目前尚未提供用户级线程,但提供了核心级线程,核心线程的创建是在进程创建的基础上稍做修改, 使创建的子进程与父进程共享虚存空间。从这一意义上讲,核心线程更像一个共享进程组。CT6itug
CT6itug
3文件系统Linux最重要的特征之一就是支持多个不同的文件系统,前面我们已经看到,Linux目前支持的文件系统 多达十余种,随着时间的推移,这一数目还在不断增加。在Linux中,一个分离的文件系统不是通过设备标识 (如驱动器号或驱动器名)来访问,而是 把它合到一个单一的目录树结构中,通过目录来访问,这一点与Unix十分相似。Linux用 安装命令将一个新的文件系统安装到系统单一目录树的某一目录下,一旦安装成功,该目录下的所有内容将 被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。CT6itug
CT6itug
Linux最初的文件系统是Minix。该文件系统对文件限制过多,并且性能低下,如文件名长度不能超过14 个字符、文件大小不能超过64MB。为了解决这些问题,Linux的开发者们设计了一个Linux专用的文件系统EXT。 EXT对文件的要求放松了许多,但在性能上并没有大的改观,于是就有了后面的EXT2文件系统。EXT2文件系统 是一个非常成功的文件系统,它无论是对文件的限制还是在性能方面都大大优于EXT文件系统,所以,EXT2自 从推出就一直是Linux最常用的文件系统。为了支持多种文件系统,Linux用一个被称为虚拟文件系统(VFS)的接口层将真正的文件系统同 *** 作系统及 系统服务分离开。VFS掩盖了不同文件系统之间的差异,使所有文件系统在 *** 作系统和用户程序看来都是等同的。VFS允许用户同时透明地安装多个不同的文件系统。 CT6itug
CT6itug
4进程间通信Linux提供了多种进程间的通信机制,其中,信号和管道是最基本的两种。除此以外,Linux也提供 System V的进程间通信机制,包括消息队列、信号灯及共享内存。为了支持不同机器之间的进程通信, Linux还引入了BSD的Socket机制。 CT6itug
CT6itug
三、 Linux的不足及发展趋势Linux从出现到现今只经历了短短七年的时间,但其发展速度是惊人的,这与它的开放性和优良的性能 是密不可分的。不过我们应该看到,作为一个由学生开发的系统,Linux还有许多先天不足,它的设计思想 过多地受到传统 *** 作系统的约束,没有体现出当今 *** 作系统的发展潮流,具体表现在以下几个方面: CT6itug
CT6itug
不是一个微内核 *** 作系统;是一个分布式 *** 作系统;不是一个安全的 *** 作系统;没有用户线程;不支持实时处理; CT6itug
CT6itug
代码是用C而不是C++这样的现代程序设计语言编写的。尽管Linux有这样和那样的不足,但其发展潜力不容低估,其发展的动力就是遍布全球、为数众多的 Linux热心者。今后Linux将会朝着完善功能、提高效率的方向发展,包括允许用户创建线程、增加实时处 理功能、开发适合多处理机体系结构的版本。我们相信,Linux、Unix及NT三足鼎立的时代将为期不远。 Linux主要由存储管理、进程管理、文件系统、进程间通信等几部分组成,在许多算法及实现策略上, Linux借鉴了Unix的成功经验,但也不乏自己的特色。 CT6itug
CT6itug
1存储管理 作为一个 *** 作系统,Linux几乎满足当今Unix *** 作系统的所有要求,因此,它具有Unix *** 作系统的基本特征。
unix系统。UNIX是Internet诞生的平台,程序员的舞台,大量革新思想创生的温床,众多系统管理员和网络管理员的首选 *** 作系统。实际上在网络化的世界里,每一位计算机用户都在或明或暗地与 UNIX 打交道。UNIX *** 作系统的优势1、UNIX是最早出现的 *** 作系统之一,发展到现在已趋于成熟;C语言因UNIX系统而出现,UNIX系统具有强大的可移植性,适合多种硬件平台。你甚至可以把UNIX *** 作系统的源代码写在纸上,然后设计一套你自己的硬件来编译和运行它2、UNIX具有良好的用户界面;程序接口提供了C语言和相关库函数及系统调用,命令接口是SHELL,UNIX有3种主流的SHELL,即sh,csh和 ksh,同时为用户提供了数千条系统命令,有助于系统 *** 作和系统管理,其管道机制也是独有的特性; 系统的可 *** 作性很强,你甚至可以不用显示器,取而代知的是非常简易的输出设备,如简易的,类似于计算器的液晶屏,甚至可以是打印机来完全 *** 作计算机和完成复杂的系统开发和管理工作!!3、在UNIX中提供了完美而强大的文本处理工具,特别适合于字符流的处理,有很多强大的功能是WINDOWS无法比拟的,如 grep,awk,sed, 正则表达式的应用等等,文本编辑器以vi最为普遍,其它还有pico,nano,emacs,ee等等4、为用户提供了良好的开发环境。UNIX的默认安装一般都包括标准的C语言编译器cc,新版本的UNIX还包括GCC,程序员可以利用它们来开发C和C ++应用程序,同时提供了make,sccs,rcs等版本控制程序,利于大型项目的开发;同时UNIX还支持数十种流行的程序开发语言5、好的文件系统。UNIX的文件系统有很多种,如早期的s5,ufs,AFS,EAFS,HTFS,DTFS 日志型的jfs,xfs,vxfs等等,其跨平台的文件系统ufs,jfs,网络文件系统nfs极大的方便了用户;同时UNIX无文件类型,支持硬连接和符号连接,文件和路径名规范!(不像WINDOWS沿用早期的38型的文件命名规则)6、强大的网络功能,集群和分布式计算,适合当今的 INTERNET! 其telnet设计思想很适合用户进行远程管理7、完善的系统审计。除了提供syslog系统审记,还提供sulog,lastlog,wtmplog等,同时用户还可以自定义记录LOG,由于UNIX非常擅长处理文本,用户可以方便的对这些LOG进行查看、分类和再加工8、增强的系统安全机制。系统大多满足C2级系统安全规范,部分专用系统已经达到了B1级;经典而完善的按属主和组进行3种权限管理的机制仍然是当今最完善的用户权限解决方案9、系统备份功能完善。系统本身提供了dd,tar,cpio,dump等传统的归档备份程序,用户同时可采用第3方的备份工具10、系统结构清晰,有利于 *** 作系统的教学和实践UNIX *** 作系统是学生学习 *** 作系统最好的教材, *** 作系统的每一个知识点都可以在UNIX系统上进行实践和找到答案。如进程管理和调度,学生可以直接通过ps,nice等命令的 *** 作来体会和理解概念;同时学员可以阅读其核心源代码以及亲自编写程序来加深对 *** 作系统的理解11、系统的专业性和可定制性强每种UNIX系统都有它们的安装程序,和WINDOWS相比,它们要专业和复杂得多,有很多系统还支持网络安装。对于同一个 *** 作系统,用户可以定制成不同的类型,如字符终端、图形工作站、服务器等(而不像WINDOWS,针对不同的用户来发行不同的版本,系统的可定制性差)12、UNIX系统具有强稳定性和健壮的系统核心其最新的核心为System V Release 5(SVR5),支持众多新技术,如DDI8设备驱动程序,64位技术,多路I/O提高了系统的可靠性和性能,控制器热插拔,硬盘跨接和镜像,Crash和Dump的能力,多控制台支持,核心动态调整等等,以满足复杂的应用要求13、系统的规范性虽然UNIX存在很多变体版本,但在UNIX系统中可以找到很多系统规范的影子,例如SystemV, Posix , GNU, UNIX95 , CDE 等等;这有助于UNIX的统一发展14、功能强大的帮助系统UNIX的manpage和在线文档是提供给用户的非常全面的手册,也是克服用户因为忘记了某个命令或参数而产生烦恼的好帮手;manpage分为多个章节,从命令到系统调用都有详细的解释 。
系统开发,通常有两个方向:前端和后端。
1、用户一般都是选择window下上网查看系统,所以前端视觉效果很重要,主攻的是html,js,css,ps,动态语言和sql;
2、视觉效果重要,但系统数据的快稳正也同等重要,而后端就是处理数据的交互与存储,在服务器选择方面,公司往往会优先考虑选择unix/linux系统。
说实话,前端偏重于 ps 和 js , 所以程序员的任务大多是在 后端开发上,所以会要求熟悉unix/linux。 其实这个unix/linux也没多复杂,常用的命令也就几个。 试想一下常用的dos命令也不多
LINUX系统的主要特点。\x0d\1、开放性:特别是遵循开放系统互连(OSI)国际标准。\x0d\2、多用户: *** 作系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。\x0d\3、多任务:计算机同时执行多个程序,而同时各个程序的运行互相独立。\x0d\4、良好的用户界面:Linux向用户提供了两种界面:用户界面和系统调用。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚劢条等设施,给用户呈现一个直观、易 *** 作、交互性强的友好的图形化界面。\x0d\5、设备独立性: *** 作系统把所有外部设备统一当作成文件来看待,只要安装驱劢程序,任何用户都可以象使用文件一样, *** 纵、使用这些设备。Linux是具有设备独立性的 *** 作系统,内核具有高度适应能力。\x0d\6、提供了丰富的网络功能:完善的内置网络是Linux一大特点。\x0d\7、可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。\x0d\8、良好的可移植性:将 *** 作系统从一个平台转移到另一个平台使它仍然能_其自身的方式运行的能力。Linux是一种可移植的 *** 作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。
一、 Linux的诞生
Linux的兴起可以说是Internet创造的一个奇迹。 1991年初,当年轻的芬兰大学生Linus Torvalds在开始其Linux *** 作系统的设计时,他的目的只不过是想看一看Intel 386存储 管理硬件是怎样工作的,而绝对没有想到这一举动会在计算机界 产生如此重大的影响。他的设计进展得很顺利,只花了几个月时 间就在一台Intel 386微机上完成了一个类似于Unix 的 *** 作系统, 这就是最早的Linux版本。1991年底,Linus Torvalds首次在Internet 上发布了基于Intel 386体系结构的Linux源代码,从此以后,奇迹开始 发生了。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学 生和科研机构的研究人员纷纷把它作为学 习和研究的对象。他们在更正原 有Linux版本中错误的同时,也不断地为Linux增加新的功能。在众多热心者的 努力下,Linux逐渐成为一个稳定可靠、功能完善的 *** 作系统。一些软件公司, 如Red Hat、InfoMagic等也不失时机地推出了自己的以Linux为核心的 *** 作系统 版本,这大大推动了Linux的商品化。在一些大的计算机公司的支持下,Linux还 被移植到以Alpha APX、PowerPC、Mips及Sparc等为处理机的系统上。Linux的使 用日益广泛,其影响力直逼Unix。
Linux的成功得益于如下因素:
(1) 具有良好的开放性。Linux及其生成工具的源代码均可通过Internet免费获取,linux爱 好者能非常 容易地建立一个Linux开发平台。
(2) Internet的普及使热心于Linux的开发者们能进行高效、快捷的交流,从而为Linux 创造了一个优良的分布式开发环境。
(3) Linux具有很强的适应性,能适应各种不同的硬件平台。
Linux的版本更新很快。在短短的七年时间里,其版本已升至21x。这里之所以用"x"表示,是因为 x的值变化太快,很难准确地定位它的值。这也从侧面反映了从事Linux的研究者之多。不过,Linux用得最 多的版本还是2030,许多商品化的 *** 作系统都以它为核心。
二、 Linux的主要特点
作为一个 *** 作系统,Linux几乎满足当今Unix *** 作系统的所有要求,因此,它具有Unix *** 作系统的基本 特征。
1符合POSIX 10031标准
POSIX 10031标准定义了一个最小的Unix *** 作系统接口,任何 *** 作系统只有符合这一标准,才有可能运 行Unix程序。考虑到Unix具有丰富的应用程序,当今绝大多数 *** 作系统都把满足POSIX 10031标准作为实现 目标,Linux也不例外,它完全支持POSIX 10031标准。另外,为了使Unix System V和BSD上的程序能直接在 Linux上运行, Linux还增加了部分System V和BSD的系统接口,使Linux成为一个完善的Unix程序开发系统。
2支持多用户访问和多任务编程
Linux是一个多用户 *** 作系统,它允许多个用户同时访问系统而不会造成用户之间的相互干扰。另外, Linux还支持真正的多用户编程,一个用户可以创建多个进程,并使各个进程协同工作来完成用户的需求
3采用页式存储管理
页式存储管理使Linux能更有效地利用物理存储空间,页面的换入换出为用户提供了更大的存储空间。
4支持动态链接
用户程序的执行往往离不开标准库的支持,一般的系统往往采用静态链接方式,即在装配阶段就已将 用户程序和标准库链接好,这样,当多个进程运行时,可能会出现库代码在内存中有多个副本而浪费存储 空间的情况。Linux 支持动态链接方式,当运行时才进行库链接,如果所需要的库已被其它进程装入内存, 则不必再装入,否则才从硬盘中将库调入。这样能保证内存中的库程序代码是唯一的。
5支持多种文件系统
Linux能支持多种文件系统。目前支持的文件系统有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、 PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系统是EXT2,它的文件名长度可 达255字符,并且还有许多特有的功能,使它比常规的Unix文件系统更加安全。
6支持TCP/IP、SLIP和PPP
在Linux中,用户可以使用所有的网络服务,如网络文件系统、远程登录等。SLIP和PPP能支持串行线上的 TCP/IP协议的使用,这意味着用户可用一个高速Modem通过电话线连入Internet网中。
除了上述基本特征外,Linux还具有其独有的特色:
支持硬盘的动态Cache 这一功能与MSDOS中的Smartdrive相似。所不同的是,Linux能动态调整所用的 Cache存储器的大小,以适合当前存储器的使用情况,当某一时刻没有更多的存储空间可用时,Cache将被减少, 以增加空闲的存储空间,一旦存储空间不再紧张,Cache的大小又将增加。
支持不同格式的可执行文件 Linux具有多种模拟器,这使它能运行不同格式的目标文件。其中,DOS和 MSWindows正在开发之中,iBCS2模拟器能运行SCO Unix的目标程序。(iBCS2 模拟器不是Linux标准核心的 一部分,但可从ftpinformatikhuberlinde:/pub/os/linux下载)
三、 Linux的主要构成
Linux主要由存储管理、进程管理、文件系统、进程间通信等几部分组成,在许多算法及实现策略上, Linux借鉴了Unix的成功经验,但也不乏自己的特色。
1存储管理
Linux采用页式存储管理机制,每个页面的大小随处理机芯片而异。例如,Intel 386处理机页面大小 可为4KB和2MB两种,而Alpha处理机页面大小可为8KB、16KB、32KB和64KB。页面大小的选择对地址变换算 法和页表结构会有一定的影响,如Alpha的虚地址和物理地址的有效长度随页面尺寸的变化而变化,这种变 化必将在地址变换和页表项中有所反映。
在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,为了建立虚拟空间和物理空 间之间的映射,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址。页表还对物理页 的访问权限作出了规定,定义了哪些页可读写,哪些页是只读页,在进行虚实变换时,Linux将根据页表中规 定的访问权限来判定进程对物理地址的访问是否合法,从而达到存储保护的目的。
Linux存储空间分配遵循的是不到有实际需要的时候决不分配物理空间的原则。当一个程序加载执行时, Linux只为它分配了虚空间,只有访问某一虚地址而发生了缺页中断时,才为它分配物理空间,这样就可能 出现某些程序运行完成后,其中的一些页从来就没有装进过内存。这种存储分配策略带来的好处是显而易见的,因为它最大限度地利用了物理存储器。
尽管Linux对物理存储器资源的使用十分谨慎,但还是经常出现物理存储器资源短缺的情况。Linux有一 个名为kswapd的进程专门负责页面的换出,当系统中的空闲页面小于一定的数目时,kswapd将按照一定的淘 汰算法选出某些页面,或者直接丢弃(页面未作修改),或者将其写回硬盘(页面已被修改)。这种换出方式不 同于较旧版本Unix的换出方式,它是将一个进程的所有页全部写回硬盘。相比之下,Linux的效率更高。
2进程管理
在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象来进行分配的。 在一个进程的生 命期内,它会用到许多系统资源,会用CPU运行其指令,用存储器存储其指令和数据,它也会打开和使用文件 系统中的文件,直接或间接用到系统中的物理设备,因此,Linux设计了一系列的数据结构,它们能准确地描 述进程的状态和其资源使用情况,以便能公平有效地使用系统资源。Linux的调度算法能确保不出现某些进程 过度占用系统资源而导致另一些进程无休止地等待的情况。
进程的创建是一个十分复杂的过程,通常的做法需为子进程重新分配物理空间,并把父进程空间的内容全 盘复制到子进程空间中,其开销非常大。为了降低进程创建的开销,Linux采用了Copyonwrite技术,即不 拷贝父进程的空间,而是拷贝父进程的页表,使父进程和子进程共享物理空间,并将这个共享空间的访问权限 置为只读。当父进程和子进程的某一方进行写 *** 作时,Linux检测到一个非法 *** 作,这时才将要写的页进行复制 。这一做法免除了只读页的复制,从而降低了开销。
Linux目前尚未提供用户级线程,但提供了核心级线程,核心线程的创建是在进程创建的基础上稍做修改, 使创建的子进程与父进程共享虚存空间。从这一意义上讲,核心线程更像一个共享进程组。
3文件系统
Linux最重要的特征之一就是支持多个不同的文件系统,前面我们已经看到,Linux目前支持的文件系统 多达十余种,随着时间的推移,这一数目还在不断增加。在Linux中,一个分离的文件系统不是通过设备标识 (如驱动器号或驱动器名)来访问,而是 把它合到一个单一的目录树结构中,通过目录来访问,这一点与Unix十分相似。Linux用 安装命令将一个新的文件系统安装到系统单一目录树的某一目录下,一旦安装成功,该目录下的所有内容将 被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。
Linux最初的文件系统是Minix。该文件系统对文件限制过多,并且性能低下,如文件名长度不能超过14 个字符、文件大小不能超过64MB。为了解决这些问题,Linux的开发者们设计了一个Linux专用的文件系统EXT。 EXT对文件的要求放松了许多,但在性能上并没有大的改观,于是就有了后面的EXT2文件系统。EXT2文件系统 是一个非常成功的文件系统,它无论是对文件的限制还是在性能方面都大大优于EXT文件系统,所以,EXT2自 从推出就一直是Linux最常用的文件系统。
为了支持多种文件系统,Linux用一个被称为虚拟文件系统(VFS)的接口层将真正的文件系统同 *** 作系统及 系统服务分离开。VFS掩盖了不同文件系统之间的差异,使所有文件系统在 *** 作系统和用户程序看来都是等同的。VFS允许用户同时透明地安装多个不同的文件系统。
4进程间通信
Linux提供了多种进程间的通信机制,其中,信号和管道是最基本的两种。除此以外,Linux也提供 System V的进程间通信机制,包括消息队列、信号灯及共享内存。为了支持不同机器之间的进程通信, Linux还引入了BSD的Socket机制。
四、 Linux的不足及发展趋势
Linux从出现到现今只经历了短短七年的时间,但其发展速度是惊人的,这与它的开放性和优良的性能 是密不可分的。不过我们应该看到,作为一个由学生开发的系统,Linux还有许多先天不足,它的设计思想 过多地受到传统 *** 作系统的约束,没有体现出当今 *** 作系统的发展潮流,具体表现在以下几个方面:
不是一个微内核 *** 作系统;
是一个分布式 *** 作系统;
不是一个安全的 *** 作系统;
没有用户线程;
不支持实时处理;
代码是用C而不是C++这样的现代程序设计语言编写的。
尽管Linux有这样和那样的不足,但其发展潜力不容低估,其发展的动力就是遍布全球、为数众多的 Linux热心者。今后Linux将会朝着完善功能、提高效率的方向发展,包括允许用户创建线程、增加实时处 理功能、开发适合多处理机体系结构的版本。我们相信,Linux、Unix及NT三足鼎立的时代将为期不远。
UNIX是一个最早在20世纪60年代开发的 *** 作系统,从那时起一直在不断发展。 *** 作系统,我们指的是使计算机工作的程序套件。它是一个稳定的多用户,多任务系统,适用于服务器,台式机和笔记本电脑。
UNIX系统还具有类似于Microsoft Windows的图形用户界面(GUI),提供易于使用的环境。但是,对于图形程序未涵盖的 *** 作,或者没有可用的图形界面。如,在telnet会话中,我们是需要UNIX知识的。
有许多不同版本的UNIX,尽管它们有着共同的相似之处。最流行的UNIX是 Sun Solaris , GNU / Linux 和 MacOS X
在学校里,我们在服务器和工作站上使用Solaris,在服务器和台式机上使用Fedora Linux。
UNIX *** 作系统由三部分组成; 内核(kernel),shell和程序。
UNIX的内核是 *** 作系统的中心:它为程序分配时间和内存,并处理文件存储和通信以响应系统调用。
作为shell和内核协同工作方式的说明,假设用户键入 rm myfile (具有删除文件myfile的效果)。shell在文件存储中搜索包含程序 rm 的文件,然后通过系统调用请求内核在 myfile 上执行程序 rm 。当进程 rm myfile 运行完毕后,shell会将UNIX提示符 % 返回给用户,表明它正在等待进一步的命令。
shell充当用户和内核之间的接口。当用户登录时,登录程序会检查用户名和密码,然后启动另一个名为shell的程序。shell是命令行解释器(CLI)。它解释用户键入的命令并安排执行它们。这些命令本身就是程序:当它们终止时,shell会给用户另一个提示(系统上的%符号)。
熟练的用户可以自定义他/她自己的shell,用户可以在同一台机器上使用不同的shell。学校的教职员工和学生 默认都有tcsh shell。
tcsh shell具有某些功能,可以帮助用户输入命令。
Filename Completion - 通过键入命令,文件名或目录名称的一部分并按[ Tab ]键,tcsh shell将自动完成名称的其余部分。如果shell找到多个以您键入的字母开头的名称,它会发出哔声,提示您再次键入几个字母,然后再按Tab键。
History - shell会保留您键入的命令列表。如果需要重复命令,请使用光标键向上和向下滚动列表,或键入历史记录以获取以前命令的列表。
UNIX中的所有内容都是文件或进程。
进程是由唯一PID(进程标识符)标识的执行程序。
文件是数据的集合。它们由用户使用文本编辑器,运行编译器等创建。
文件示例:
所有文件都在目录结构中组合在一起。文件系统以分层结构排列,如倒置树。层次结构的顶部传统上称为root(斜杠/)
在上图中,我们看到主目录 ee51vn 包含两个子目录( docs 和 pics )和一个名为 reportdoc 。
reportdoc 的完整路径是 /home/its/ug1/ee51vn/reportdoc
要打开UNIX终端窗口,请单击“应用程序/附件( Applications/Accessories)”菜单中的“终端”图标。
然后将出现一个UNIX终端窗口,其中包含%提示符,等待您开始输入命令。
以上就是关于简述Linux有技术特点 急全部的内容,包括:简述Linux有技术特点 急、1、UNIX *** 作系统的特点是什么、为何招聘都要求unix/linux这两种系统下的开发经验,难道windows下就没那么重要吗 没学过linux,unix怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)