linux技术
A. 一个做linux开发的 一个做linux技术支持的 薪资都是一万二 应该选哪个
题。我做嵌入式近10年了,我来帮你回答。
1:不知道嵌入式这个行业是否真如那些咨询师们所说的是低门槛,好就业,而且高薪资。
嵌入式绝对不是什么低门槛的事情。没有哪个行业是低门槛而又好就业又高薪水。如果有,那也绝对是暂时的。中国不缺的就是聪明人,如果有这样的行业,我想早就被挤破门了。轮不到我们这些后知后觉的人。而嵌入式绝对是一个相对来说,门槛比较高的行业。因为嵌入式的要学东西比较多,你要做嵌入式,你必须会精通一门编程语言,比如C,你必须懂操作系统比如linux,你还必须懂处理器比如arm,而如果你做纯粹的软件开发,那你也许只需要懂一门编程语言就可以了。嵌入式之所以工资相对高,主要是因为它要学的东西比较多,现在需求量也比较大。但是如果你想精通的话,没有三年五年那是不可能的。
2:更不知道花费万把块钱和半年时间上这个培训班是否真的值得。
至于培训是否值得,我想每个人的实际情况不一样。如果让我选择,我会选择自己学习,因为培训班的作用无非就是提供给你一个大家一起学习的环境,而如果你真正想学,你完全可以找资料来自学。如果楼主还有时间,不妨自己学下。实在觉得困难的话再去培训吧。当然,楼主如果家里经济不错的话,也可以去培训吧。但是如果真的下决心要学的话,其实可以去找找自学的方法。
3:不知道在上培训班的时候能否通过个人努力来弥补基础差的缺陷
其实这不是你最大的缺陷,你最大的缺陷在于你的信心。你自己没有完全的信心来学好它。我也是这样过来的,从零基础到现在也是部门经理。每个人都有一个菜鸟的过程,但是你不要问你可不可以学好。你能不能学好那在于你自己肯不肯花时间来学习。你肯不肯坚持来学习。
也许看到这里你会说我是夸夸其谈,但是我想我说的是真心话,我自己就是这样过来的。那也许你会说你该怎么自学。我可以转一篇一个专科生写他怎么学习嵌入式的步骤,学习的课程给你看看,希望对你有所帮助。
专科生学嵌入式到找到工作的前前后后--学习的榜样
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在网络知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在嵌入式学习网推出的一份视频《从零基础开始学嵌入式》,网址: 里面的教程还不错,很完整,可以让我从基础的开始学起。视频不便宜啊,但是我也忍了,毕竟买几本书都要几百了,何况他们还有半年的技术咨询和服务,算值了。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
最后祝愿所有想学嵌入式的朋友更早的入门!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
相信你看了也会有所触动吧。我为了回答你这个问题,打了半个小时。。。。希望你能觉得我回答的不错,更希望能真正帮到你。
B. linux是什么技术
属于操作系统、主要应用于电脑、智能手机
一般银行、政府主要部门都是使用lINUX
其次、linux系统使用人数少
与windows不兼容
减少了核可入侵风险
另外、linux属于开放源码、在编辑中使用SO简单
般可以认为,Linux是一套自由使用(一般可以免费使用)和自由传播的类Unix操作系统。这个系统是由世界各地成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的Unix兼容产品。实际上,linux仅仅是linux操作系统中的核心(kernel)。 Linux学习的基本概念
(1)磁盘及分区
一块硬盘可以分为一个主分区和若干个扩展分区(逻辑分区),Linux操作系统可以安装在任何地方,因此许多机器可以做成多个windows系统及Linux多启动。 在Linux下没有盘符的概念,不管是什么存储盘,在它里面都是一样对待的,系统里只有从根目录往下一层层的目录,一个盘可以包含多个目录,一个目录也可能会跨多个盘。 Ext2: Ext2是GNU/Linux系统中标准的文件系统。这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也可以用于软盘等移动存储设备。 Ext3: Ext3是Ext2的下一代,是在保有Ext2的格式之下加上日志功能。Ext3是一种日志式文件系统(Journal File System),最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便需要时回溯追踪。当某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。该分区格式已逐渐取代Ext2,被广泛应用在Linux系统中。 Ext4: ext4是ext3文件系统的后继版本。ext4原始的开发目标是一系列的向下兼容ext3、移除其64位限制与提升其效能的延伸包。然而,某些Linux开发者因稳定性原因而拒绝将这些延伸包应用在ext3上,并要求其作为ext3的分支,改名为ext4并另行开发,以免影响到目前的ext3用户。该要求被接受以后,ext3维护者Theodore Ts'o在2006年6月28日公开了ext4的开发计划。 Linux swap: 它是Linux中一种专门用于交换分区的swap文件系统。与Windows系列使用一个文件作为虚拟内存不同,Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是主内存的2倍。在内存不够时,Linux会将部分数据写到交换分区上。 VFAT: VFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。
(2)理解Linux文件系统标准
/:根目录,系统中所有的目录都是从根目录开始 /bin: 存放常用命令 /boot: 引导核心的程序目录 /dev: 外部设备名 /etc: (etcetera)系统管理所要的配置文件和子目录 /home:存放用户主目录的地方,一般是/home/用户名。其他目录有ftp、httpd、samba等 /lib:(library)系统基本的动态链接库 /lost+found /opt :optional(可以选择的) /proc::虚拟系统,是由系统初起时在内存中产生的 /root:超级用户默认的主目录; /sbin:系统管理员使用的系统管理程序 /tmp:存放各程序执行时所产生的临时文件 /usr:占空间最大的目录,用户的很多应用程序和文件几乎全在这个目录中 /var:存放一些系统记录文件和配置文件
(3)掌握Linux下设备的使用方法
(4)理解LILO和GRUB的用途
LILO全称为LInux LOader GRUB全称为GRand Unified Boot loader 是位于硬盘引导扇区的一个小程序,是引导Linux系统内核的最常见的方式; 可以用来引导多个操作系统;可以同时支持多个不同的系统内核映像; 为每个系统内核映像提供了密码保护; 支持位于不同磁盘和分区中的引导扇区、映象文件和启动映像;
(5)普通用户与超级用户
普通用户可以在其权限许可的范围内使用系统资源,而超级用户(用户名为root)不仅可以使用系统中的所有资源而且可以管理系统资源。
(6)工作方式
字符工作方式和图形工作方式 在字符界面下工作[@more@]在字符界面下工作-为什么使用字符工作方式 -------------------------------------------------------------------------------- Linux是一种类UNIX操作系统。在UNIX发展的早期,类UNIX操作系统根本没有图形操作界面,只有字符工作模式。后来随着GUI的发展,在类UNIX操作系统上开发了XWindow系统,使类UNIX系统有了图形用户界面。虽然图形用户界面操作简单,但是字符操作方式仍然沿用至今,这主要是因为: 1.在字符操作方式下可以高效地完成所有的任务,尤其是系统管理任务。 2.系统管理任务通常在远程进行,而远程登录后进入的是字符工作方式。 3.由于使用字符界面不用启动图形工作环境,大大地节省了系统资源开销。 在字符界面下工作-进入字符工作方式的方法 -------------------------------------------------------------------------------- --在图形环境下开启终端窗口进入字符工作方式。 --以init 3模式启动系统后直接进入字符工作方式。 --使用远程登录方式(telnet/SSH)进入字符工作方式。 在字符界面下工作-Shell 简介 -------------------------------------------------------------------------------- --什么是Shell Shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell在Linux系统上具有极其重要的地位。 --Shell的功能 Shell最重要的功能是命令解释,从这种意义上说,Shell是一个命令解释器。Linux系统上的所有可执行文件都可以作为Shell命令来执行。当用户提交了一个命令后,Shell首先判断它是否为内置命令,如果是就通过Shell内部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在查找该命令时分为两种情况:(1)用户给出了命令的路径,Shell就沿着用户给出的路径进行查找,若找到则调入内存,若没找到则输出提示信息;(2)用户没有给出命令的路径,Shell就在环境变量PATH所制定的路径中依次进行查找,若找到则调入内存,若没找到则输出提示信息。此外,Shell还具有如下的一些功能: + 通配符 + 命令补全、别名机制、命令历史 + 重定向 + 管道 + 命令替换 + Shell编程语言 --Shell的主要版本 + Bourne Again Shell(bash, bsh 的扩展)--Linux的默认Shell + Korn Shell (ksh)--AIX的默认Shell + tcsh (csh 的扩展) 在字符界面下工作-基本操作命令 -------------------------------------------------------------------------------- --文件目录操作-- ls 显示文件和目录列表 touch 生成一个空文件或更改文件的时间 cp 复制文件或目录 mv 移动文件或目录、文件或目录改名 rm 删除文件或目录 cat、tac 显示文本文件内容 more、less 分页显示文本文件内容 ln 建立链接文件 whereis 查找系统文件所在路径 find 在文件系统中查找指定的文件 grep 在制定的文本文件中查找指定的字符串 pwd 显示当前工作目录 cd 切换目录 mkdir 创建目录 rmdir 删除空目录 tree 显示目录树 chmod 更改文件或目录的权限 chown 更改文件或目录的属主 --信息显示 -- stat 显示指定文件的相关信息 who、w 显示在线登录用户 whoami 显示用户自己的身份 hostname 显示主机名称 uname 显示系统信息 dmesg 显示系统启动信息 top 显示当前系统中耗费资源最多的进程 显示指定的文件(目录)已使用的磁盘空间的总量 df 显示文件系统磁盘空间的使用情况 free 显示当前内存和交换空间的使用情况 ifconfig 显示网络接口信息 ping 测试网络的连通性 netstat 显示网络状态信息 --用户间通信-- write 向另外一个登录用户发信息 wall 向所有登录用户发信息 mesg 显示、设置接受或者不接受其它登录用户发来的信息 mail、pine 邮件收发 ftp ftp客户端程序 lynx 字符界面浏览器 --备份压缩 -- tar 文件、目录打(解)包 gzip 压缩(解压)文件或目录,压缩文件后缀为gz compress 压缩(解压)文件或目录,压缩文件后缀为Z bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2 zcat 显示压缩的文本文件的内容 --其他命令 -- echo 显示输出变量、字符串的值 exit 返回上一级Shell date 显示(设置)系统日期和时间 cal 显示日历 clear 清屏 wc 统计文本文件的行数、单词数和字符个数 passwd 设置用户登录密码 su 切换为指定的用户进行操作
编辑本段读音
linux发音五花八门版本颇多,见到和听到的不下10种。根据linux的创始人Linus Torvalds的说法,Linux的发音和“Minix”是押韵的。“Li”中“i”的发音类似于“Minix”中“i”的发音,而“nux”中“u”的发音类似于英文单词“profess”中“o”的发音。依照国际音标应该是/'linэks/——类似于“里讷克斯”。但是,由于Linus Torvalds本人是芬兰人,所以他的Linux读音不是/'linэks/,而是/'liniks/. 有人综合网上和linux自己的读音,概括出几个自认为最合适也最通用的读法:/li'n^ks/(“里那克斯”)或/'li:nэks/(“里讷克斯”)或/li'nju:ks/(“里纽克斯”)。这几个应该是谁都听得懂的。至于哪个比较正宗,当然是linux的原音。但事实上使用linux哪种读法的人似乎不在多数。
编辑本段发展历史
Linux的源头
linux来源于UNIX,UNIX操作系统(UNIX),是美国AT&T公司1971年在PDP-11上运行的操作系统。具有多用户、多任务的特点,支持多种处理器架构,最早由Kenneth Lane Thompson、Dennis MacAlistair Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。它并非自由软件,而是有着商业版权的软件。
Linux的出现
Linux的历史是和GNU紧密联系在一起的。 1983年,理乍得·马修·斯托曼(Richard Stallman)创立了GNU计划(GNU Project)。这个计划的目标是为了发展一个完全免费自由的Unix-like操作系统。自1990年代发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的元件,像是——函式库(libraries)、编译器(compilers)、侦错工具(debuggers)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unix shell)——除了执行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。 最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。 最初的设想中,Linux 是一种类似Minix这样的一种操作系统。1991年4月,芬兰赫尔辛基大学学生Linus Benedict Torvalds(当今世界最着名的电脑程序员、黑客)不满意Minix这个教学用的操作系统。出于爱好,他根据可在低档机上使用的MINIX设计了一个系统核心Linux 0.01,但没有使用任何MINIX或UNIX的源代码。他通过USENET(就是新闻组)宣布这是一个免费的系统,主要在x86电脑上使用,希望大家一起来将它完善,并将源代码放到了芬兰的FTP站点上任人免费下载。本来他想把这个系统称为freax,意思是自由( free) 和奇异(freak) 的结合字,并且附上了"X"这个常用的字母,以配合所谓的Unix-like的系统。可是FTP的工作人员认为这是Linus的MINIX,嫌原来的命名“Freax”的名称不好听,就用Linux这个子目录来存放,于是它就成了“Linux”。这时的Linux只有核心程序,仅有10000行代码,仍必须执行于Minix操作系统之上,并且必须使用硬盘开机,还不能称做是完整的系统;随后在10月份第二个版本(0.02版)就发布了,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则信息: Hello everybody out there using minix- I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. 由于许多专业用户(主要是程序员)自愿地开发它的应用程序,并借助Internet拿出来让大家一起修改,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来。 从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最着名的Linux分销商之一。
C. linux技术包括哪些
Linux是unix其中一种 计算机操作系统,其内核名称也成为linux
linux技术是指对linux的开发,改编,全面应用(apache服务 CENTOS DEBIAN dhcp服务 dns服务 ftp服务 gdlc GDLC GNU http服务 iptable服务等等等等).
对gnu的开发技术,在linux下进行各种编程 都称为linux技术.
由于linux系统的桌面只是软件,并不能够有效地使用系统全部功能.你需要学习linux命令的语法(类似DOS系统的命令)
推荐你一本书 逐步学习linux吧. <鸟哥的私房菜> 这本书比较容易看懂,是针对初级学习linux人推荐的
等linux操作学习差不多了 可以去linux技术论坛跟大家进行交流讨论.
*. 还有什么不知道可以联系我补充.
D. linux技术哪一块实用点
其实哪一块都很重要,比如基本的命令,首先我们必须掌握常用的命令才能去做其他的 ,要学好linux,先从命令开始!这是我的博客,欢迎大家光临
http://wgkgood.gicp.net
E. 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的版本更新很快。在短短的七年时间里,其版本已升至2.1.x。这里之所以用"x"表示,是因为 x的值变化太快,很难准确地定位它的值。这也从侧面反映了从事Linux的研究者之多。不过,Linux用得最 多的版本还是2.0.30,许多商品化的操作系统都以它为核心。
二、 Linux的主要特点
作为一个操作系统,Linux几乎满足当今Unix操作系统的所有要求,因此,它具有Unix操作系统的基本 特征。
1.符合POSIX 1003.1标准
POSIX 1003.1标准定义了一个最小的Unix操作系统接口,任何操作系统只有符合这一标准,才有可能运 行Unix程序。考虑到Unix具有丰富的应用程序,当今绝大多数操作系统都把满足POSIX 1003.1标准作为实现 目标,Linux也不例外,它完全支持POSIX 1003.1标准。另外,为了使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标准核心的 一部分,但可从ftp.informatik.huberlin.de:/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三足鼎立的时代将为期不远。
F. linux技术的级别怎么区分
听我的,
插驱动光盘
c:回车
format c:/Q回车
smartdrv回车
I:回车(如果你的光区是h)
cd i386回车
搞定
G. 什么是linux技术
和需要 windows 技术的概念一样。
这里主要还是看 linux 拿来干什么用。一般情况,linux 都是作为服务器系统使用。这样的话,所谓 linux 技术,就是 linux 服务器的设置和管理。
单纯说需要”linux技术“,那基本这个公司不需要 linux 。
H. 简述Linux有技术特点 急
一、Linux服务器版本的关键技术特点 1.中文平台 以前的中文平台在X Window下着重于截取X的函数或通讯协议,红旗Linux 2.0在红旗Linux1.1.2的基础上有了重大突破,完全在国际化的基础上架构了全新的中文显示技术,没有对X的函数及通信协议作任何修改就完全能够显示汉字,支持TrueType显示,并且支持TrueType的无级缩放与字型变换等。 长期以来Linux的中文输入处于非常混乱的局面,其实在X Window上很早就有一套国际规范来解决X上的输入问题,这就是XIM。Rfinput是红旗Linux利用Imdkit开发的遵循XIM的输入法,她支持智能ABC、GBK拼音、区位、郑码,以及在香港很有声望的九方输入法,并可以方便地对它进行扩充。 红旗Linux服务器版支持三种语言,即简体中文、繁体中文和英文,用户可自由在三种语言之间进行切换。 2.日志文件系统 尽管Linux可以支持种类繁多的文件系统,但是几乎所有的Linux发行版都用ext2作为默认的文件系统。ext2在写入文件内容的同时并没有写入文件的meta-data和文件有关的信息,如果在写入文件内容之后但在写入文件的meta-data之前,突然断电,文件系统就会处于不一致的状态。在一个需要大量文件操作的系统中,出现这种情况会导致很严重的后果。重新启动的时候,Linux会运行一个叫做“fsck”(file system check)的程序,扫描整个文件系统。修复不了是经常的事。如果文件系统很大,fsck扫描要费很长时间。在一个有数十亿个文件的计算机上,fsck可能要运行10个小时以上。在这段时间内,系统是不可用的。 日志文件系统可以帮助解决这个问题。目前正在开发的有三种日志文件系统:ReiserFS、ext3、jfs,其中已经完成且应用较多的是ReiserFS文件系统,一直被用在SGI的高端Unix上面。据说在Linux内核2.4.0以上的版本可能将采用ReiserFS作为它的文件系统。当前的ReiserFS只能在Intel结构体系上使用,支持其他体系结构的版本正在积极开发中。 ReiserFS文件系统与ext2相比有很多特点: (1)搜寻方式 ReiserFS是基于平衡树的文件系统结构,尤其对于大量文件的巨型文件系统,如服务器上的文件系统,搜索速度要比ext2快;ext2使用局部的二分查找法,综合性能比不上ReiserFS。 (2)空间分配和利用情况 ReiserFS里的目录是完全动态分配的,因此不存在ext2中常见的无法回收巨型目录占用的磁盘空间的情况。ReiserFS里小文件(<4kB)可以直接存储进树,小文件读取和写入的速度更快。 (3)先进的日志机制 ReiserFS有先进的日志(Journaling/logging)机制,在系统意外崩溃的时候,未完成的文件操作不会影响到整个文件系统结构的完整性。对于较大型的服务器文件系统,ext2“文件系统检查”可能要持续好几个小时。在日志的帮助下,每个对数据结构的改变都被记录下来,日志机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。在系统突然崩溃后,下次启动只需几秒钟就能恢复成一个完整的系统。 (4)支持海量磁盘和优秀的综合性能 ReiserFS的出现,使Linux拥有了像Irix/AIX那样的高档商用Unix才有的高级文件系统,可轻松管理上百GB的文件系统。 ReiserFS一个最受人批评的缺点是每升级一个版本,都将要将磁盘重新格式化一次,这个缺点也正在改进中。 3.服务器集群(Cluster) Cluster是将两个(或更多)系统(节点)协调起来一起工作,提供相同服务或实现相同目的的一种计算机机群;在外面看来,整个像一个系统一样,这样可用来提高服务的稳定性和/或核心网络服务的性能。Cluster已经发展多年,但原来都需要专业的软/硬件设备才能实现,只有少数公司才能用得起。随着Linux的流行,出现了许多基于Linux、基于PC的Cluster解决方案,使更多的人有机会构建自己的Cluster,而且这些基于Linux的软件大多都是遵循GPL协议的。 许多自由软件的程序员在Linux集群技术方面作了许多卓越的工作,使Linux具有强大的集群能力。而其中引以自豪的是LVS(Linux Virtual Server)项目组,负责人是中国人—张文嵩,他们的成果已被广为接受。红旗Linux服务器版2.0整合了这些技术成果,将其成功的引进到红旗Linux中,为用户提供了这种Linux虚拟服务器的解决方案。 (1)集群技术的分类 ①基于双机系统的集群 这种方式的特点是利用硬件的方式来提高系统的高可用性,严格地讲还不能称为真正意义的集群,实际上是两台(或更多台)计算机通过一定方式互相监听,实现热备份。当其中主节点出现问题时,备用机能够自动立即接替工作,使用户感觉不出停机。在主节点恢复正常之后,备用机又会把工作还给主节点。 ②基于负载均衡(Load Balance)的集群 Load Balance应用在Web Server上比较多。用户访问一个地址,但实际上后台有若干台服务器在提供服务。而当服务请求达到饱和时,还可以很容易地再添加新的节点而不用停掉整个Cluster,实现所谓的“热插拔”。而且,Cluster还会查询真实节点的情况,当某台真实节点没有响应时,就不再把任务分配到那里,直到这台节点恢复正常。
I. 学习、应用和开发Linux技术的必要性是什么
1、Linux由众多微内核组成,其源代码完全开源;
2、Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3、Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性。
(9)linux技术扩展阅读:
Linux的特性
1、完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。
正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
2、完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
3、多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
J. 怎样全方面系统的学习linux技术
学习Linux的心得 搜索通过这几年来对Linux的学习,一步一步摸着石头过河,到现在才刚刚上岸。我能起的作用可能可以告诉你一些学习的方法,当你遇到困难的时候有个人在旁边给予帮助。说句心里话,对于Linux的掌握我还只能算是很粗的东西,因为看了很多大师们的东西以后,发现自已离他们真得还很远。我不是要打击你的意思,是告诉你实情。但也可以告诉你,就这一点现在还是比较好混口饭吃。对她了解掌握的越深,你会发现他几乎什么都能做,有了实现自已商业机会的平台。 学习Linux分好几种层次,我个人觉得可以用中学里学的课文《疱丁解牛》来对比。说白了也就是对事物的认识一般都是由表及里的过程,学习Linux也是一样的。以前总觉的学理的人只要会数理化就行了,很多老师们由于自身的素质问题也不由自主的暗示着我们这样做。现在觉得很后悔当初没有学好文,文太重要了,很多时候他真的可以指导我们的形为和思维方式。最近看的很多管理上的书,最终上升到都是哲学方面的问题,很多东西一追踪根源到上升到哲学上来了。以前小的时候不懂事,觉得学这些东西有什么用,现在成熟一些了才发现这些东西真的不是件简单的事情。学习Linux有很多东西,我建议你首先要注意大师们在哲学上的思路。Linux是由Unix产生的,最终他的实现及他基础上很多应用软件都是基于一个哲学理念“把任务分解成一小块一小块完成”,可能现在你觉得这是件很简单的道理。但他不简单就在于所有有关Unix的东西都是基于这一理念的,看看我们常用的那些小工具吧,find,grep,gzip,tar,bash...等等,这个道理无不贯穿始终。现在IBM/MS等公司经常提到的WEB Service,实际上细想也是这样的,无非是把很多服务分散开来,然后有个总的业务逻辑来进行迅速的组合成一个新的服务,满足市场的迅速变化的需求。 结论1:首先要明白他的设计理念是缘自Unix的“把任务分解成一小块一小块完成”,建议你可以看这本电子书>。是由Eric Steven Raymond写的,在google上很容易找到。这本书编重于编程,可以根据自已的兴趣选相应章节。我也没有全看完,也在研习中:-) 从使用着手,自已装个系统。建议你从Redhat开始。现在Redhat的安装基本上都是学习MS的做法,很图形化了。只要按照图形的指示,很容易让一个系统跑起来。我觉得初学者应该从这个入手,这样会快很多。因为Linux上的软件包都是由不同的开发团队做的,所以一般人不知道如果安装,redhat公司做的事情就是把这些东西组织起来,然后把这些软件卖给大家。因为他对这一行非常的精通,所以卖软件是其次,卖服务是主业。现在redhat已停止出个人版的了,改成专做企业的了,版本发行最近有些变动。现在最后一个版本好象是RH9.1。 装好系统后从使用应用软件开始,建议你先学BASH SHELL编程。因为你将业想往Oracl DBA发展的话,精通SHELL可以在管理上给你带来很大的便利。同时对于理解Linux系统的启动和一些软件的安装很有帮助。比如说你可以很清楚的了解Linux的整个启动过程,继而知道为什么要做那一步做了这个动作,对你将来处理实际碰到的问题至少可以明白知道问题出在哪。象很多我们日常在Unix/Linux的管理和脚本都是分不开的,精通BASH是我们需要完成的第一步。我指的是精通,不是一般的了解,因为你只有精通了,用的时间越长,你会发现script可以帮我们很方便的干很多事情。这里有一本电子书提供参考,是我至今见到写BASH最全,最好的一本。名叫《Advanced Bash Scripting Guide》,你可以在里找到。 这里也提一下里的文章是你学习Linux的良师益友,里面的很多文章都是非常不错的教材。主要分为几类:1、FAQ 2、HOWTO 3、Guider 4、man手册。其中的Guider有几本都是非常不错的入门书,你基本上可以不用去买本,美国出的印刷书都奇贵,你把那里的几本书看完就差不多了。插一句,现在P2P很流行,我基本上都不买专业的书了,大部分都可以找到电子版的下载。里面的HOWTO主要讲的一些具体的问题如何处理,门类也很多很杂,你可以根据自已现在的需求去看相应的文章。有空的时候可以多看看,这里面有些很好的solution,说不定什么时候就可以用上。FAQ的文章不多,建议挑些重要的看下。对于man手册,一般系统上都有,不过那里应该是最近的,平时用的不多。 结论2:自已装个Redhat,学好shell。 你用Unix/Linux时候,熟悉一个编辑器是必不可少的。用两种建议选择Emacs&VIM。Emacs比较大些,要花些空间,功能具强,以前用过一段时间但没有深入下去,所以了解也是通过大师们文章中反复提到这个关键字和一些信息知道的,用好了功能具强,相当于一个MS下的IDE开发环境;vim比较小些,功能也很强,是vi的增强版,我现在主要是用她来编辑东西。vim支持多种语法,可以用来编脚本、C、Java,功能足够我们用,学好需要一定的时间实践。因为我们用Unix/Linux,免不了有时要用console来控制,如果用惯了MS的编辑的话,你会非常痛苦,建议如果以后想长时间使用unix/linux环境的话,学好一种这环境下的编辑器。vim也有windows的版本,开始用起来会觉得不方便,便很快你会发现用VIM可以解决很多MS下编辑器不能解决的问题,不信你可以试试看。 结论3:学会一种Unix/Linux下编辑器Emacs或Vim,建议Vim(因为我在用,可以给你些指导 ) 学习Linux有几种常用的服务软件需要会用,1) apache(http) 2) bind(dns) 3) pro-ftp(ftp) 4)samba(file share) 。需要掌握这些软件的安装和简单配置,这些软件在网上都有很详细的文档。至少apache要会安装和管理,因为这是最基本的WEB服务,今天在哪里都能用到。对于这些常用服务软件根据自已兴趣和环境要求做出选择,不一定要很精,但要会,建议精通。 结论4:学会常用服务软件的安装和配置,至少掌握apache 在Linux中还有很多小实用工具也需要掌握,这对你今后诊断问题和做相应的系统管理有很大帮助。如配置网卡地址的工具ifconfig,查找文件的工具find,行编辑的命令sed、awk,网络状态检查netstat、ping、nc等。这些工具可以在实践中慢慢学习。 结论5:在实践中学习一些常用小工具,如ifconfig netstat route等 掌握一到两种Opensource的数据库,如现在流行的两种数据库MySQL和PostgreSQL。MySQL用的人多些也比较简单,速度又快,做一些简单的数据库应用很多都用他做backend databaes server。如果你自已想学Oracle的话,可以直接学Oracle。Oracle的东西多且全,基本上所用的功能都能在Oracle找到。但如果你想更深一层学习DB的话,你可以考虑学PostgreSQL,他有源程序而且支持事务处理(trans-action)、子查询(sub-select),过程(procere)、自定义函数(function)、光标(cursor),支持了大部份SQL92和99的标准。他的文档也比较全。 结论6:建议掌握一种Opensource的DB,如MySQL 建议对TCP/IP协议层深入了解,我想你们上研究生时应该讲的很深。但我还是建议你再多复习相关的知识点,很多时候网络上的问题可以通对你对TCP/IP的了解找到问题所在。建议你买那个steven的书叫>,同时经常在身边准备好那几种状态切换的图,劳记在心,出问题的时候就可以知道是哪边网络不通,还是应用程度出了什么问题了。 结论7:建议再深入了解TCP/IP protocol 建议除了bash外,再学多一种在Unix环境下的RAD脚本语言python。我也正在学python,通过这段时间的了解发现,这个东东有很多功能而且在开发上可以比c/c++提高至少5倍效率。有时候偏向做系统管理,但掌握一本这种编程形的脚本对工作帮助很大,可以迅速的处理一些问题。BASH是侧重于人机交复的脚本,有些事情用BASH是无法完成的。Python在很多Internet应用上有很多mole&package,你可以很方便的使用已有的功能,比如说自已做个小的WEB SERVER,做测试工具,做数据库查询等等。 结论8:建议学下Python 好了,今天先罗嗦到这里,还有很多想法愧于文笔有限,改天再详谈。 水平有限,权做参考,希望对于你的学习有所帮助。 客观来说 对你毫无用处。 《linux就该这么学》是一本不错的教程哦