您好,欢迎访问三七文档
一、Linux简介Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界人人都能自由使用的Unix兼容产品。Linux创始人LinusTorvalds林纳斯•本纳第克特•托瓦兹(LinusBenedictTorvalds)出生于芬兰赫尔辛基市。父亲尼尔斯•托瓦兹(NilsTorvalds)是一名活跃的共产主义者及电台记者。托瓦兹家族属于在芬兰占6%的少数民族芬兰瑞典人。他毕业于赫尔辛基大学计算机科学系,1997年至2003年在美国加州硅谷任职于全美达公司(TransmetaCorporation)参与该公司芯片的codemorph技术研发。后受聘于开源码发展实验室(OSDL:OpenSourceDevelopmentLabs,Inc),全力开发Linux内核。现任职于Linux基金会Linux的起源1991年LinusTorvalds为完成自己操作系统课程的作业。开始基于Minix一种免费小型UNIX系统,编写一些程序。最初该程序只有一万多行,可是在程序完成时。使他意想不到的是这些程序已经足够实现一个操作系统的基本功能。早期UNIX的主要特色是结构简炼、便于移植和功能相对强大,经过多来年的发展和进化,形成了一些极为重要并稳定的特色,其中主要包括:1.技术成熟,可靠性高经过30来年开放式道路的发展,UNIX的一些基本技术已变得十分成熟,有的已成为各类操作系统的常用技术。实践表明,UNIX是能达到大型主机(mainframe)可靠性要求的少数操作系统之一。目前许多UNIX大型主机和服务器在国外的大型企业中每天24小时,每年365天不间断地运行。例如,不少大企业或政府部门,即所谓肩负关键使命的场合/部门将其整个企业/部门信息系统建立并运行在以UNIX为主服务器的Client/Server结构上。但到目前为止,世界上还没有一家大型企业将其重要的信息系统完全建立在NT上。2.极强的可伸缩性UNIX系统是世界上唯一能在笔记本电脑、PC、工作站,直至巨型机上运行的操作系统,而且能在所有主要CPU芯片搭建的体系结构上运行(包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片)。至今为止,世界上没有第二个操作系统能达到这一点。此外,由于UNIX系统能很好地支持SMP、MPP和Cluster等技术,使其可伸缩性又有了很大的增强。目前,商品化UNIX系统能支持的SMP,CPU数已达到几百甚至更多个,MPP系统中的节点甚至已超过1024个UNIX支持的异种平台Cluster技术也1已投入使用。UNIX的伸缩性远远超过了NT操作系统目前所能达到的水平3.网络功能强网络功能是UNIX系统的一又一重要特色,作为Internet网技术和异种机连接重要手段的TCP/IP协议就是在UNIX上开发和发展起来的。TCP/IP是所有UNIX系统不可分割的组成部分。因此,UNIX服务器在Internet服务器中占80%以上,占绝对优势。此外,UNIX还支持所有常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,使得UNIX系统能方便地与已有的主机系统,以及各种广域网和局域网相连接,这也是UNIX具有出色的互操作性的根本原因。4.强大的数据库支持能力由于UNIX具有强大的支持数据库的能力和良好的开发环境,因此多年来,所有主要数据库厂商,包括Oracle、Informix、Sybase、Progress等,都把UNIX作为主要的数据库开发和运行平台,并创造出一个又一个性价比的新记录。UNIX服务器正在成为大型企业数据中心替代大型主机的主要平台。5.开发功能强UNIX系统从一开始就为软件开发人员提供了丰富的开发工具。成为工程工作站的首选和主要的操作系统和开发环境。可以说,工程工作站的出现和成长与UNIX是分不开的。至今为止,UNIX工作站仍是软件开发厂商和工程研究设计部门的主要工作平台。有重大意义的软件新技术的出现几乎都在UNIX上,如TCP/IP、、OODBMS等。6.开放性好开放性是UNIX最重要的本质特性。开放系统概念的形成与UNIX是密不可分的。UNIX是开放系统的先驱和代表。由于开放系统深入人心,几乎所厂商都宣称自己的产品是开放系统,确实每一种系统都能满足某种开放的特性,如可移植性、可兼容性、可伸缩性、互操作性等。但所有这些系统与开放系统的本质特征—不受某些厂商的垄断和控制相去甚远,只有UNIX完全符合这一条件。7.标准化过去,Unix界被分析家和用户批判,因为没有为所有Unix操作系统提供统一的标准。其实,到目前为止,国际标准化组织(ISO)、工业团体恰恰是以UNIX基础制订了一系列标准化,如ISO/IEC的POSIX标准、IEEEPOSIX标准、X/Open组织的XPG3/4工业标准以及后来的Spec1170(因为它包含了1170个应用编程接口,后来改名为UNIX’95)标准。不少人对标准及标准化组织的作用及职权产生了误解。事实上,当标准化组织企图驾驭互相竞争的力量,和企图为用户规定他们的要求时是注定要失败的。比方说,标准只能用于给出道路的规则,而不应用于制造汽车。如果厂家被强迫完全遵从单一的标准,而不允许他们产品有特色,则用户将受害,Unix将变成象任何单一厂家的产品一样,没有任何特色。Linux与其他操作系统的区别*从发展背景来看Linux与其他操作系统的区别是:Linux是从一个比较成熟的操作系统发展而来的,而其他的操作系统。比如Windows等都是自成体系,无对应相依托的操作系统。*从使用费用上来看Linux与其他操作系统最大的区别是,该系统开2放的、免费的、可以自由传播的操作系统。其他的操作系统,比如Window等是封闭的需要付费的,而且费用很贵。*Linux的核心具有Windows无法比拟的稳定性和高效率。在不使用X-WindowIntel486摇身一变称为高效工作站。*Linux性、强大的可移植性、高度稳定性、漂亮的用户界面.有世界公认的较好的语言编辑器和更高效率的开发环境。Linux组成Linux可分为:内核、Shell、XWindow和应用程序四大组成部分,其中内核是所有组成部分中最为基础、最为重要的部分。二、shell编程shell是一种命令解释程序(命令解释器),shell解释用户输入的命令行,提交系统内核处理,并将结果返回给用户。与Linux命令一样都是实用程序,但两者又有区别。一旦用户注册到系统后,shell就被系统装入内存,并一直运行到用户退出系统之止;而一般命令仅当被调用时,才由系统装入内存执行。shell本身也是一种可编程的程序设计语言。用shell写的程序(shell脚本)相当于dos/windows下的批处理文件,它可以简单到只有一条命令,也可以复杂到包括大量循环、条件语句、数学运算、控制结构,也可以是介于两者之间的程序。shell允许通过编程来完成复杂的功能处理,但作为语言与高级语言相比较具有不同的特点:(1)shell是解释性的,多数高级语言是编译性的;(2)shell语言与高级语言处理的对象不同;(3)shell与系统有密切的关系;(4)shell易编写、调试、灵活性较强,但速度低;(5)shell作为命令级语言,命令组合功能很强。shell有两种主要语法类型:Bourneshell和Cshell,彼此不兼容。Bourneshell家族:shkshbashpshzsh;Cshell家族:cshtcsh。其中bash和zsh在不同程度上支持csh的语法。这里,再着重介绍一下bash的特点:(1)自动补全功能假设要输入的命令很长,或者命令后面要给的文件名很长。这个时候只要按一个Tab键,bash就会在可能的命令或文件名里面找寻匹配的命令,找到的话就会自动帮你补齐。(2)命令行编辑程序bash的命令行编辑是在提示符下,可对未执行的命令字符任意地修改。(3)命令历史(commandhistory)所谓的命令历史就是把曾经输入过的命令记录起来,方便日后的查询与使用。只要按向上键就可以调出前一个命令,再按一次向上键就可以调出更3前一个命令,依此类推,用向下键可以回到下个命令,所以用上、下键就可以选择以前输入过的命令。Shell程序的特点及用途shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行不同的shell解释器使用不同的shell命令语法shell程序解释执行,不生成可以执行的二进制文件可以帮助用户完成特定的任务,提高使用、维护系统的效率了解shell程序可以更好的配置和使用linux三、文件与目录1.文件与目录的基本概念文件每种操作系统都有自己独特的文件系统,如MS-DOS文件系统、UNIX文件系统等。文件系统包括了文件的组织结构、处理文件的数据结构、操作文件的方法等。Linux自行设计开发的的文件系统称为EXT2。Linux还支持多种其它操作系统的文件系统,例如minix、ext2、hpfs、msdos、umsdos、iso、nfs、sysv等达二十几种文件的类型普通文件:文本文件,它由ASCII字符构成;数据文件,它由来自应用程序的数字型和文本型数据构成;可执行的二进制程序,它由机器指令和数据构成。目录文件:两个特殊的目录项”·”代表目录本身,”··”表示父目录。设备文件:如光驱:/dev/cdrom管道文件链接文件2、目录目录是特殊文件,用来创建和存放对于文件系统中的文件的访问路径。是由成对的“I节点号/文件名”构成的列表I节点号是检索I节点表的下标,I节点中存放有文件的状态信息。文件名是给一个文件分配的文本形式的字符串,用来标识该文件。“点”(.)表示目录本身;“点点”(..)表示该目录的父目录Linux线程与进程进程概念:进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。在Mac、WindowsNT等采用微内核结构的操作系统中,进程的功能发生了变化:它只是资源分配的单位,而不再是调度运行的单位。在微内核系统中,真正调度运行的基本单位是线程。因此,实现并发功能的单位是线程线程概念:线程是进程中执行运算的最小单位,亦即执行处理机调度的基本4单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。例如,假设用户启动了一个窗口中的数据库应用程序,操作系统就将对数据库的调用表示为一个进程。假设用户要从数据库中产生一份工资单报表,并传到一个文件中,这是一个子任务;在产生工资单报表的过程中,用户又可以输人数据库查询请求,这又是一个子任务。这样,操作系统则把每一个请求――工资单报表和新输人的数据查询表示为数据库进程中的独立的线程。线程可以在处理器上独立调度执行,这样,在多处理器环境下就允许几个线程各自在单独处理器上进行。进程和线程的关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。(3)处理机分给线程,即真正在处理机上运行的是线程。(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。四、市场趋势以及前
本文标题:LINUX认识论文
链接地址:https://www.777doc.com/doc-2130247 .html