导航:首页 > 操作系统 > 嵌入式linux播放器

嵌入式linux播放器

发布时间:2022-08-15 03:30:53

‘壹’ 请问都有哪些单位会用到嵌入式linux操作系统

太多,偏硬的
华为需求量就很多
大连外包的也很多
还有就是电子设备、电气设备公司
你应该明白,嵌入式是智能家电,自动化机械,硬件控制等方面紧缺人才啊
而linux做这个,也是一大主流啊

‘贰’ 嵌入式linux是分时系统还是实时操作系统

嵌入式Linux 系统是在原来Linux的发行版本之上进行了优化和改进的,用于嵌入式的移动终端等设备的嵌入式Linux系统现在基本上都是实时性较高的,但有些LiNUX系统还是分时系统,这个主要看它应用在什么场合和需求来决定选择什么样的系统(实时、分时的Linux)!

‘叁’ 做一个嵌入式Linux系统究竟要做哪些工作

1、Linux 基础

安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统
能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务
Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器

2、Shell 编程基础

Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作
熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序
编写一个带有循环语句的shell脚本程序

3、Linux 下的C 编程基础

linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化
熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序
调试一个有问题的程序

4、嵌入式系统开发基础

嵌入式系统概述交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核
嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot
编译并下载Linux内核 编译并下载Linux应用程序

5、嵌入式系统移植

Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念
能够移植Linux内核移植Linux2.6内核到 ARM9开发板

6、嵌入式 Linux 下串口通信

串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM
能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序

7、嵌入式系统中多进程程序设计

Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序
编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制
熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序

8、嵌入式系统中多线程程序设计

线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序

9、嵌入式 Linux 网络编程

网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理
PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS
使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在
ARM平台的网络播放器

10、GUI 程序开发

GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序
调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件

11、Linux 字符设备驱动程序

设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念
了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序
对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析
块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统
对比Linux2.6内核与2.4内核中块设备驱动的不同

12、文件系统

虚拟文件系统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化
MTD块设备的读写操作了解Linux系统的文件系统 了解嵌入式Linux的文件系统 了解MTD技术 能够编写简单的文件系统为 ARM9开发板添加 MTD支持
移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统

无论选择哪一方向,基本的linux的知识是需要具备的,其他还需要掌握的知识有ARM(最常用的一款嵌入式处理器)和C语言编程,每一方面知识的掌握熟练程度都最终决定了个人进行嵌入式linux开发的综合能力。

更多详情来源:《华清远见嵌入式学院》

‘肆’ 用QT做一个基于LINUX跨平台播放器的一般步骤

ACE全称adaptive communication enviroment,是一套C++的通信库。它提供了socket/threading/memory management等多种系统调用的面对对象的wrapper,使C++通信软件开发更加简单。

ACE最帅的特点:跨平台!!!!!!ACE屏蔽了底层平台特定的语义,使用ACE编写的C++程序,可以在linux/windows/HP-Unix下编译执行,而且效率很高。曾经做过的一个VOIP项目就是用ACE写的,那个项目的技术相当复杂,需要用到socket/multi-threading等很多与操作系统联系紧密的技术,但用了ACE(界面用Qt)后,那个项目源码可以直接在linux和windows下编译运行,呵呵,还是相当成功的。项目进行中感到ACE相当成熟,举一个朋友说Siemens的某些大型工程也是用的ACE。而且,ACE是免费开源的软件包--不用白不用。

C++ Network Programming就是ACE项目的负责人Schmidt写的,这位老哥以前是华盛顿大学的副教授,主要研究领域是软件工程(他写了不少关于pattern的文章和书),现在猫到UC Irvine去了,好象还是副教授(要这哥们在中国,早应该成教授了吧)。这两本书主要介绍了ACE的使用,也涉及了部份设计方面的内容。第一卷主要介绍ACE的基本功能和使用,第二卷则偏重通讯软件中的design pattern。搞通信软件开发的兄弟们绝对应该看看此书。

另外也有人推荐把ACE作为学习C++的范例来学习,呵呵,这就是个人喜好的问题了...总的来说ACE的代码风格还是很不错的--比STL那些天书好看些,呵呵。

Q: 什么是ACE或者ACE2插件?

A: 如果把普通的插件比作一棵棵互不关联的小树, 那么ACE库或者ACE2库就是一棵大树干,所有基于ACE的插件就是长在上面的树枝. 共有的部分都被集成到一起,因此代码非常短小和快速,而且稳定.ACE2是用来取代ACE的版本,虽然有一些插件还未能从ACE转换到ACE2,但是ACE2系的插件现在可说代表了wow插件的最高水平.

ACE2是为其他倚赖ACE2才能运行的插件提供库支持的一个库文件,本身不具备任何功能。

如BigWigs[ACE2]就说明BigWigs这个插件需要ACE2的支持。

使用方法:解压缩以后无论是ACE2还是!LIB都直接放入Interface\Addons里面就可以了。

ACE 类插件因为短小精悍 面向对象 有越来越多的插件开始以其作为编写库

目前已经发展到 ACE2

ACE2运行库开发组都是提倡直接内嵌的,完全没有必要单独提出来!没错如果你有10个内嵌了ACE2的插件,开始载入的时候确实会载入10个副本的ACE2导致Warmup显示内存占用偏大,但是在下次的碎片回收中,多余的ACE2副本都会被清除,只留下一个驻留内存。如果有新旧多个版本,则会自动选择最新的版本驻留。所以说,Warmup的数据,不能正确的反映出ACE2插件的实际内存使用。Warmup的作者本身也是ACE开发团队的成员,现在由于Warmup导致的一些对ACE2的误解,这家伙想必也是哭笑不得了,呵。

作为ACE2插件的使用者,完全没有需要去考虑运行库的版本更新等等问题,这是ACE2标准的一个重要精神,是ACE2开发初始就持有的初衷!所有的ACE2运行库,都是可直接内嵌、自动管理版本,不需要使用者进行任何管理干预的!

ACE2作为wow插件界的技术先锋,为插件作者提供了一个良好的开发平台,也切实地为玩家带来了易用、强大而低资源占用的优秀插件。希望大家不要为过往的成见和一些人的误导而错失了如此优秀的插件!

谈运行库而色变,完全是没有必要的。ACE2的优秀运行库(包括ACE2和基于ACE2标准的CandyBar, Dewdrop, Metrognome, Compost, ParserLib等等)不但是简化了插件的开发,优化了代码,也对降低插件资源占用作用。再加上ACE开发社区作者们强烈的优化意识,可以负责的说,ACE2的插件比其他插件绝对更省资源!

本质上来说, Qt是一个跨平台的C++应用程序开发框架,有时又被称为C++部件工具箱。Qt被用在KDE桌面环境、Opera、GoogleEarth、Skype、Adobe Photoshop Album和VirtualBox的开发中。它是诺基亚(Nokia)的QtDevelopment Frameworks 部门的产品。使用 Qt,只需一次性开发应用程序和用户界面,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:

a) 优良的跨平台特性:

Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。

b) 面向对象

Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。

c) 丰富的 API

Qt包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/Odevice, directory management, date/time 类。甚至还包括正则表达式的处理 功能。

d) 支持 2D/3D 图形渲染,支持 OpenGL

e) 大量的开发文档

f) XML 支持

最近诺基亚发布了Qt 4.6——最新版的跨平台应用程序和用户界面框架。Qt 4.6 对全新平台提供支持,具有强大的全新图形处理能力并支持多点触摸和手势输入,让高级应用程序和设备的开发过程变得更加轻松和快乐。

诺基亚应用服务和框架副总裁Sebastian Nystrom说:“不论是什么样产品设计或开发平台,Qt 4.6的发布对开发人员来说都是一件令人兴奋的事。”

“开发人员可以轻而易举地为桌面平台或设备(包括数亿部基于Symbian 和 Maemo系统的设备)开发出具有视觉美感和网络连接功能的应用程序。”
Nystr?m补充说:“开发人员将非常喜欢使用Qt直观的编程界面,快速开发出功能强大、外表美观的应用程序。”

更多平台

Qt4.6 首次包含了对Symbian 平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹)和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5的支持目前也已进入研发阶段,其技术预览版第二版已于今日发布。
Qt 对 Symbian 和 Maemo 的支持首次为开发人员创造了使用同一代码库同时针对这两个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。

Qt Mobility项目下的全新Qt API技术预览版也于今日同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。

外观更炫

Qt 4.6是在4.5图形增强功能的基础上创建的,进一步强化了这些图形功能,添加了全新的动画框架(Animation Framework)——包括直观的状态机功能——以及全新的高级图形功能,如不透明、阴影、闪光和滤镜等。

使用手指

Qt4.6最令人兴奋的新功能之一就是可以创建多点触摸应用程序。这种全新的基于多触点和手势的输入法(如轻触和动力滚动)使Qt4.6框架的功能更为强大,用户可以通过触觉以动态的方式与应用程序和设备进行互动。

性能更强

传统软件开发观点认为高级用户界面功能的获得通常是以性能严重受损作为代价的。Qt 4.6 对此观点提出了挑战,为此投入大量工作,既要获得最佳性能,又要能让开发人员所开发的产品达到用户所要求的“令人惊叹”的效果。

性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。

最新工具

在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。(来自programbbs)

3、用QT能做什么?

在QT的官方网站谈到了15年来取得了的成就,它帮助世界各地和各个行业组织开发出先进的高度创新的应用和设备。

使用Qt,众多的开发商和公司已经能够:
● 减少了近50%的开发时间。
● 加速了50%的开发速度由于代码可维护
● 减少了50%的代码量

Qt的用户怎么说?
● 94%报告说,Qt的满足或超过其发展的期望
● 92%会向他人推荐使用Qt
● 76%报告因为使用Qt,生产率提高

Qt的应用领域:

有很多出名的例子是都是使用Qt开发的。例如: Arora(一款跨平台的开源网页浏览器)、eva(Linux版QQ聊天软件)、FreeMat(一个自由开源的数值计算环境和编程语言 )、Ga-Ga(即时通信软件)、Google地球(Google Earth)(三维虚拟地图软件)、ImageVis3D、KDE(着名的桌面环境)、Elibs(一个许多KDE程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等)、Last.fm播放器(着名的互联网音乐社区网站的桌面客户端)、Motorola A760(UI 以 Qt/Embedded 建构)、MythTV9(开源的数字视频录制软件)、Opera(着名的网页浏览器)、Qterm(跨平台的BBS软件)、QtExtended、Quantum GIS、Skype(一个使用人数众多的基于P2P的VOIP聊天软件)、SMPlayer(跨平台多媒体播放器)、TeamSpeak(跨平台的音效通信软件) 、Tlen.pl:波兰人发明的 instant messaging client TOra、VirtualBox(虚拟机软件)、Xconfig(Linux的Kernel配置工具) 、chmcreator(开源的chm开发工具)…

‘伍’ linux嵌入式操作系统中采用的终端物理设备是什么意思

嵌入式linux 嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。 1. 嵌入式Linux系统就是利用Linux其自身的许多特点,把它应用到嵌入式系统里

‘陆’ 我想做个嵌入式linux的媒体流媒体播放器,想用GTK做界面什么的,开发板的是S3c2440的

可以写的,Linux的东西怎么多,myplyaer都写出来,当然是可以写的。

首先我不是大师,我是一名Linux爱好者, gtk+做界面是可以的, 要搞怎么 媒体播放器的话,要去接触一些 库,具体是那么库,你自己去网络一下,我要去打球了,你自己查阿1‘

‘柒’ 嵌入式linux

嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。
如果分别让10位工程师给出嵌入式系统的定义,将得到10个不同的答案。一般来说,大部分的嵌入式系统执行特定的任务。我们假定最简单的嵌入式系统包括输入/输出功能,以及一些控制逻辑,该系统基于它的配置执行某些类型的功能。按照这个标准,可以认为一个包含实现控制逻辑74123计数器以及一个状态是一个嵌入式系统。也许可以补充说,该系统必须可通过存储在固件中的软件进行编程。这个新的嵌入式系统定义包括输入/输出(I/O),以及存储在系统固件中的控制逻辑。一个带有鼠标、键盘、网络连接并运行图形用户界面(GUI,graphical user interface)多任务操作系统的桌面计算机显然满足这些要求,但我们能认为它是一个嵌入式系统吗?
如果桌面计算机不是一个嵌入式系统,那么手持设备呢?它们有I/O功能,可以运行存储在固件中的控制逻辑。有人说,桌面计算机和手持设备都有通用计算机设备,可以运行软件来执行许多不同的任务,与之不同的是,嵌入式系统(例如,洗碗机控制器或飞行导航系统)主要是为特定任务而设计的。这种特定的功能限定使嵌入式设备有功能上的唯一性。如果是这样,为什么一些嵌入式系统设计成具有附加的功能,如存储在非易失性存储器中的程序,并且具有运行可以完成原始设计范围之外的任务的多任务操作系统的能力呢?
在过去,区分嵌入式系统和通用计算机比简单得多。例如,可以很容易地区分出一个基于8051的T1分幅卡嵌入式系统和一台Sun UNIX工作站。从功能方面很难区分一台Sun工作站和一个包含PowerPC以及32MB内存和16MB闪存的机顶盒。这样的机顶盒可以运行带GUI的多任务操作系统,可现场升级,可以同时运行多个程序(如视频控制器、数字录像和Java虚拟机),还可以进行安全的因特网在线交易。很难判断这种机顶盒是否是一个嵌入式系统。显然,硬件性能的提升和价格的下降使通用计算机和嵌入式系统之间的界限变得很模糊,技术的进步使得我们很难定义什么是嵌入式。
……………………………………………………………………………………
嵌入式linux的前景和待遇都不错,一般从事嵌入式的待遇在6000-15000之间。虽然嵌入式很难,但是也可以自学嵌入式。
关于如何学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在网络知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 粘贴浏览器地址栏按回车键即打开)。里面的教程还不错,很完整,可以让我从基础的开始学起。视频比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
希望我的回答能帮助到你。

…………………………………………………………

‘捌’ 嵌入式linux要学哪些

您好,关于该问题,解答如下:
嵌入式linux要学什么:
1.Linux 基础

安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器

2.Linux 下的 C 编程基础

linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化 熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序

3.Shell 编程基础

Shell 简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序

4.嵌入式系统开发基础

嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序

5.嵌入式系统移植

Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板

6.嵌入式Linux下串口通信

串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM 能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序

7.嵌入式系统中多进程程序设计

Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序

8.嵌入式系统中多线程程序设计

线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序

9.嵌入式 Linux 网络编程

网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理 PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS 使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在 ARM平台的网络播放器

10.Linux 字符设备驱动程序

设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念 了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序 对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统 对比Linux2.6内核与2.4内核中块设备驱动的不同

11.GUI 程序开发

GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序 调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件

12.文件系统

虚拟文件系统文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化 MTD块设备的读写操作了解Linux系统的文件系统了解嵌入式Linux的文件系统了解MTD技术 能够编写简单的文件系统为 ARM9开发板添加 MTD支持移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统
——如有帮助,请采纳一下。

‘玖’ 嵌入式系统的操作系统(如linux)主要作用是什么

嵌入式操作系统的主要好处就是屏蔽了底层硬件的差别,给上层应用提供统一的接口,并管理进程调度和资源(如CPU时间、内存)分配等。就跟windows操作系统一样,不管你是用华硕的电脑还是戴尔的电脑,只要装了windows操作系统,你都可以用office、词霸之类的软件。人机界面(MMI)是上层应用show出来的。
简单的嵌入式应用不需要嵌入式操作系统的支持,如单片机,直接用汇编程序就能实现特定的功能。要跑的应用多了,就需要操作系统来进行管理。

一般手机产品、小型医疗设备、军工设备等都用到了arm+linux的平台。
arm处理器(CPU)是目前使用较多的,使用的嵌入式操作系统可以是多种多样的,不光是linux。嵌入式linux系统比较稳定,有开源代码,成本低,可移植性强;可以灵活裁剪不需要的功能,减小嵌入式软件的大小和降低系统功耗。所以用嵌入式linux操作系统的不少。但现在很多公司都是用那种商业化的定制好的嵌入式linux平台以减少开发量和加快开发速度(比如有专门针对通讯设备的,有专门针对一般消费电子类的),这就需要买了。

‘拾’ 请问Linux作为服务器操作系统都是嵌入式的吗

zt
我帮你查找了两个资料,你看看对你是否可以有点帮助;
嵌入式Linux系统的设计与应用
摘要:随着嵌入式Linux系统的迅速发展,嵌入式Linux已发展成为嵌入式操作系统的一个重要分支。本文介绍了嵌入式Linux的设计和几种流行的嵌入式Linux系统。

关键词:嵌入式Linux

一、引言

嵌入式系统(Embedded Systems)是根据应用的要求,将操作系统和功能软件集成于计算机硬件系统之中,从而实现软件与硬件一体化的计算机系统。嵌入式系统出现于60年代晚期,它最初被用于控制机电电话交换机,如今已被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。嵌入式系统在数量上远远超过了各种通用计算机系统:计算机系统核心CPU,每年在全球范围内的产量大概在二十亿颗左右,其中超过80%应用于各类专用性很强的嵌入式系统。

一般的说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。和通用的计算平台相比,嵌入式系统往往具有功能单一、体积小、功耗低、可靠性高、剪裁性好、软硬件集成度高、计算能力相对较低等特点。多年来,嵌入式设备中没有操作系统,其主要原因有二:首先,诸如洗衣机、微波炉、电冰箱这样的设备仅仅需要一道简单的控制程序,以管理数量有限的按钮和指示灯,没有使用操作系统的必要;其次,它往往只具有有限的硬件资源,不足以支持一个操作系统。

然而,随着硬件的发展,嵌入式系统变得越来越复杂,最初的控制程序中逐步的加入了许多功能,而这些功能中有很多可以由操作系统提供。于是,在70年代末期出现了嵌入式操作系统(Embedded Operating Systems),它的出现大大简化了应用程序设计,并可以有效的保障软件质量和缩短开发周期。简单的ES一般并不使用操作系统,只包含一些控制流程,但是随着嵌入式操作系统在复杂性上的增长,简单的流程控制就不能满足系统的要求,这是就必须考虑使用操作系统做系统软件。因此,嵌入式操作系统就应运而生。

随着EOS的广泛应用,业界已推出一些应用比较成功的EOS产品。归纳起来EOS应该具有以下几个特点:小巧、实时性、可装卸、固化代码、弱交互性、强稳定性和统一的接口。目前使用最多的EOS产品包括有:Vxwork、QNX、PalmOS、WindowsCE、pSOS、Hopen OS(国内凯思集团公司自主研制开发)等。其中,Vxwork使用最为广泛、市场占有率最高,其突出特点是实时性强(采用优先级抢占和轮转调度等机制),除此之外,其可靠性和可剪裁性也相当不错。QNX是一种伸缩性极佳的系统,其核心加上实时POSIX环境和一个完整的窗口系统还不到一兆。相比之下,Microsoft WinCE的核心体积庞大,实时性能也差强人意,但由于Windows系列友好的用户界面和为程序员所熟悉的API,并捆绑IE、Office等应用程序,正逐渐获得更大的市场份额。而与这些商业化的操作系统相比,Linux已经越来越受到人们的注意。

二、嵌入式Linux概述

Linux是一个成熟而稳定的网络操作系统。将Linux植入嵌入式设备具有众多的优点。首先,Linux的源代码是开放的,任何人都可以获取并修改,用之开发自己的产品。其次,Lirmx是可以定制的,其系统内核最小只有约134kB。一个带有中文系统和图形用户界面的核心程序也可以做到不足1MB,并且同样稳定。另外,它和多数Unix系统兼容,应用程序的开发和移植相当容易。同时,由于具有良好的可移植性,人们已成功使Linux运行于数百种硬件平台之上。

然而,Linux并非专门为实时性应用而设计,因此如果想在对实时性要求较高的嵌入式系统中运行Linux,就必须为之添加实时软件模块。这些模块运行的内核空间正是操作系统实现进程调度、中断处理和程序执行的部分,因此错误的代码可能会破坏操作系统,进而影响整个系统的可靠性和稳定性。Linux的众多优点还是使它在嵌入式领域获得了广泛的应用,并出现了数量可观的嵌入式Linux系统。其中有代表性的包括:uClinux、ETLinux、ThinLinux、LOAF等。ETLinux通常用于在小型工业计算机,尤其是PC/104模块。ThinLinux面向专用的照相机服务器、X-10控制器、MP3播放器和其它类似的嵌入式应用。LOAF是Linux On A Floppy的缩略语,它运行在386平台上。

三、Linux作为嵌入式操作系统的优势

Linux作为嵌入式操作系统的优势主要有以下几点:

1、 可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对于经费,时间受限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发后移植到具体的硬件上,加快了软件与硬件的开发过程。Linux采用一个统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。Linux可以随意地配置,不需要任何的许可证或商家的合作关系,源代码可以免费得到。这使得采用Linux作为操作系统不会遇到任何关于版权的纠纷。毫无疑问,这会节省大量的开发费用。本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高。Linux的高度模块化使添加部件非常容易。

2、 Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制,支持大量硬件(包括X86,Alpha、ARM和Motorola等现有的大部分芯片)等特性的一种通用操作系统。其程序源码全部公开,任何人可以修改并在GUN通用公共许可证(GNU General Public License)下发行。这样,开发人员可以对操作系统进行定制,适应其特殊需要。

3、 Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。Linux还提供了强大的网络功能,有多种可选择窗口管理器(X Windows)。其强大的语言编译器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。

四、嵌入式Linux的建立

完整的嵌入式Linux解决方案应包括嵌入式Linux操作系统内核、运行环境、图形化界面和应用软件等。由于嵌入式设备的特殊要求,嵌入式Linux解决方案中的内核、环境、GUI等都与标准Linux有很大不同,其主要挑战是如何在狭小的FLASH、ROM和内存中实现高质量的任务实时调度、图形化显示、网络通信等功能。

1、 精简内核

Linux内核有自己的结构体系,其中进程管理、内存管理和文件系统是其最基本的3个子系统。图1简单表示了它的框架。用户进程可直接通过系统调用或者函数库来访问内核资源。正因为Linux内核具有这样的结构,因此修改内核时必须注意各个子系统之间的协调。

嵌入式Linux内核一般由标准Linux内核裁剪而来。用户可根据需求配置系统,剔除不需的服务功能、文件系统和设备驱动。经过裁剪、压缩后的系统内核一般只有300k左右,十分适合嵌入式设备。同标准Linux不同的是嵌入式Linux必须要实现从FLASH或ROM的启动。标准Linux启动代码实现了系统初始化和从软盘、硬盘O盘区引导内核。嵌入式Linux一般保存在FLASH或ROM中,标准LILO无法引导。在支持直接从FLASH设备引导的系统中,如华恒公司的uClinux,引导程序主要完成对硬件系统的初始化工作和操作系统的解压、移位工作。在不支持直接从FLASH引导的系统中,FLASH设备只能作为非引导磁盘使用。此时,可采用先从硬盘或软盘加载一个小操作系统,如嵌入式DOS,然后再执行"Loadlin"加载程序从FLASH引导嵌入式Linux。

对标准Linux的修改主要是虚拟内存和调度程序部分的改动。因为标准Linux系统使用虚拟内存管理的目的是为了能同时运行多个进程,但是这样每个待运行的进程所能分配的CPU时间片就受限制,资源的使用效率就低。这样对于实时性要求较高的嵌入式系统来说,实时任务往往要求CPU具有很高的突发处理能力,即在有些时候需要极高的处理效率,因此需要屏蔽内核的虚拟内存管理机制。对于无硬盘设备的嵌入式系统,不必采用虚存管理。强实时需求的嵌入式应用可以通过修改任务调度模块实现,主要是在内核和设备驱动程序中加入了许多切换点。在该点处,系统检测是否存在未处理的紧急中断,有则剥夺内核的运行,及时处理中断。实现实时性服务的一个较好的方法是在标准的Linux内核上增加一个实时内核,标准Linux内核作为一个任务运行于实时内核上,强实时性任务也直接运行在实时内核上,如RT-Linux等。

文件系统是嵌入式Linux操作系统必不可少的。但标准Linux支持大量的文件系统,因此除了满足系统的正常运行需要而保留一种外,其它的全部可以删除,利用原有的设置选项可以移除。一般嵌入式设备文件系统主要使用RamDisk技术和网络文件系统技术。RamDisk可驻留于Flash,运行时加载到内存中。

2、 精简运行环境

Linux通常的运行环境指用户运行任何应用的基础设施,主要包括函数库和基本命令集等。标准Linux系统同时向用户提供了静态和动态函数库。静态函数库在生成应用时直接链接到用户应用中。动态库在应用运行时才链接。由于嵌入式系统应用一般都是在开发平台上预先生成的,因此嵌入式系统只需向应用提供动态函数库。Linux应用运行所需的函数库主要有C库、数学库、线程库、加密库、网络通信库等。其中最基本的是C语言的运行库glib。这个库主要完成基本的输入输出,内存访问,文件处理。一个标准的glib库大约要1200kB存储空间,考虑到嵌入式Linux内核往往很小,这种运行库实在太大,我们做了一些精简的工作,方法有两种:(1)、使用静态连接的方法,完全不使用运行库动态连接;(2)、对这个库的函数进行精简。

在一个桌面系统上,使用动态连接可以带来许多好处。使用动态连接库,可以让应用程序跟函数库的更新、升级分离,便于维护,可以让同时运行的多个程序共享一段代码。但是,在嵌入式系统中,很少有多个程序并行的可能,程序的维护,尤其是库函数的维护更新是不常见的。这时,使用静态连接的优势就极为明显。因为静态连接可以只将库中用到的部分连接进程序。在应用程序较少(小于5)的情况下,静态连接可以达到较好的结果。为了便于将来扩充的需要,我们也采用第二种方法,针对我们的需要,对库函数的内容进行精简,只保留一些基本功能,还有一种方法是采用其它的C语言运行库。但是这些库对兼容性影响很大。

基本命令集同样是运行用户应用的基础,主要包括初始化进程init,终端获取getty、Shell和基本命令等。嵌入式系统的启动过程可能与标准Linux不同,例如跳过登录过程直接启动GUI等。这就要求修改init,getty等。标准Linux命令集同样由于体积问题无法直接应用于嵌入式环境。目前,小命令集的解决方法主要有集成方法和汇编方法两种。集成方法采用集成公共部分减少命令集整体体积,用C实现,有较好的平台移植性;汇编方法则采用汇编编程减少每个命令的体积.这样可使体积很小但其平台移植性较差。

3、 嵌入式Linux下的GUI

GUI在嵌入式系统或者实时系统中的地位越来越重要,比如PDA、DVD播放机、WAP手机等,都需要一个完整.漂亮的图形用户界面。这些系统对GUI的基本要求包括:(1)、轻型、占用资源少;(2)、高性能;(3)、高可靠性;(4)、可配置。这些也成为评价嵌入式系统的重要指标。目前,嵌入式Linux上的GUI主要有winCE、Micro Window、紧缩的X Window、MiniGUI(国内做得较好的自由软件之一)。标准Linux的Xfree86由于体积庞大,运行环境要求高,无法运行于嵌入式环境。嵌入式GUI主要通过削减功能,降低性能来实现体积小和占用资源少。目前嵌入式Linux上的GUI环境主要有两类:X类和win32类。X类GUI分为服务方和客户方两方。服务器方提供鼠标、键盘处理和显示功能,客户方是用户应用,服务方和客户方通过socket接口和X协议通信。采用该方式十分有利于远程网络图形化服务,客户方和服务方可通过网络实现X协议和图形显示。典型的X类GUI有Micro Window、紧缩的X Window等。win32类的GUI不存在客户方和服务方,每个任务都自成一体,任何任务间的切换、事件分发由专门的管理任务负责。如wiCE、MiniGUI就是类似于win32类的GUI。

五、当前流行的几种嵌入式Linux系统

除了智能数字终端领域以外,Linux在移动计算平台、智能工业控制、金融业终端系统,甚至军事领域都有着广泛的应用前景。这些Linux被统称为"嵌入式Linux"。

1、RT-Linux

这是由美国墨西哥理工学院开发的嵌入式Linux操作系统。到目前为止,RT-Linux已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等广泛领域。RT-Linux开发者并没有针对实时操作系统的特性而重写Linux的内核,因为这样做的工作量非常大,而且要保证兼容性也非常困难。为此,RT-Linux提出了精巧的内核,并把标准的Linux核心作为实时核心的一个进程,同用户的实时进程一起调度。这样对Linux内核的改动非常小,并且充分利用了Linux下现有的丰富的软件资源。

2、uClinux

uCLinux是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU(Memory Management Unit) 的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,其多任务的实现需要一定技巧。uCLinux是一种优秀的嵌入式Linux版本,是micro-Conrol-Linux的缩写。它秉承了标准Linux的优良特性,经过各方面的小型化改造,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,却仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持和标准丰富的API。它专为嵌入式系统做了许多小型化的工作,目前已支持多款CPU。其编译后目标文件可控制在几百KB数量级,并已经被成功地移植到很多平台上。

3、Embedix

Embedix是由嵌入式Linux行业主要厂商之一Luneo推出的,是根据嵌入式应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统服务,包括Web服务器等。系统需要最小8MB内存,3MB ROM或快速闪存。Embedix基于Linux 2.2内核,并已经成功地移植到了Intel x86和PowerPC处理器系列上。像其它的Linux版本一样,Embedix可以免费获得。Luneo还发布了另一个重要的软件产品,它可以让在Windows CE上运行的程序能够在Embedix上运行。Luneo还将计划推出Embedix的开发调试工具包、基于图形界面的浏览器等。可以说,Embedix是一种完整的嵌入式Linux解决方案。

4、Xlinux

XLinux是由美国网虎公司推出,主要开发者是陈盈豪。他在加盟网虎几个月后便开发出了基于XLinux的、号称是世界上最小的嵌入式Linux系统,内核只有143KB,而且还在不断减小。XLinux核心采用了"超字符集"专利技术,让Linux核心不仅可能与标准字符集相容,还含盖了1 2个国家和地区的字符集。因此,XLinux在推广Linux的国际应用方面有独特的优势。

5、PoketLinux

由Agenda公司采用、作为其新产品"VR3PDA"的嵌入式Linux操作系统。它可以提供跨操作系统构造统一的、标准化的和开放的信息通信基础结构,在此结构上实现端到端方案的完整平台。PoketLinux资源框架开放,使普通的软件结构可以为所有用户提供一致的服务。PoketLinux平台使用户的视线从设备、平台和网络上移开,由此引发了信息技术新时代的产生。在PoketLinux中,称之为用户化信息交换(CIE),也就是提供和访问为每个用户需求而定制的"主题"信息的能力,而不管正在使用的设备是什么。

6、MidoriLinux

由Transmeta公司推出的MidoriLinux操作系统代码开放,在GUN普通公共许可(GPL)下发布,可以在http://midori.transmeta.com上立即获得。该公司有个名为"MidoriLinux计划"。"MidoriLinux"这个名字来源于日本的"绿色"---Midori,用来反映其Linux操作系统的环保外观。

7、红旗嵌入式Linux

由北京中科院红旗软件公司推出的嵌入式Linux是国内做得较好的一款嵌入式操作系统。目前,中科院计算所自行开发的开放源码的嵌入式操作系统---Easy Embedded OS(EEOS)也已经开始进入实用阶段了。该款嵌入式操作系统重点支持p-Java。系统目标一方面是小型化,另一方面能重用Linux的驱动和其它模块。由于有中科院计算所的强大科研力量做后盾,EEOS有望发展成为功能完善、稳定、可靠的国产嵌入式操作系统平台。

六、结束语

由于Linux是一个内核源代码开放、具备一整套工具链、有强大的网络支持及成本低廉的操作系统,因此嵌入式Linux自诞生起就秉承了这众多独特优势,这使它正在并越来越多地受到人们的关注。据Even Data数据显示,期望使用嵌入式Linux的用户从2001年的11%增到2002年27%,而同期Vxwork只是从16%到18%,Win CE从9%到14%。另外,在嵌入式Linux的各种应用市场中,通信(语音和数据)名列第一,2000年的销售额是1300万美元,而2005年预计将达到1.26亿美元,可以预见,嵌入式Linux将在未来的通信用嵌入式操作系统中占据强有力的地位

Linux是目前十分火爆的操作系统。它是由芬兰赫尔辛基大学的一个大学生Linus B. Torvolds在1991年首次编写的。标志性图标是一个可爱的小企鹅。

Linux是一种类Unix系统,Linus当时编写它的目的是为了替代一种名叫Minix的操作系统。Minix是由一个名叫Andrew Tannebaum的计算机教授编写的,当时由于Unix是一个商业软件,其源代码是不能拿来进行教学的,Andrew教授就自己编写了一个系统用于教学。最
初的Minix用一张软盘就能装下,麻雀虽小、五脏俱全,Minix具有一般操作系统的特征,它同时兼容Unix系统。

Linux是一个免费的操作系统,用户可以免费获得其源代码,并能够随意修改。它是在共用许可证GPL(General Public License)保护下的自由软件,也有好几种版本,如Red Hat Linux、Slackware,以及国内的Xteam Linux等。

Linux具有许多Unix系统的功能和特点,能够兼容Unix,但无需支付Unix高额的费用。比如一个Unix程序员在单位可以在Unix系统上进行工作,回到家里在Linux系统上也能完成同样的工作,而不必重新购买Unix。要知道Unix的价格比常见的Windows要高出若干倍,和Linux的低廉更是相距甚远。

Linux的应用也十分广泛。Sony最新的PS2游戏机就采用了Linux作为系统软件,使PS2摇身一变,成为了一台Linux工作站。着名的电影《泰坦尼克号》的数字技术合成工作就是利用100多台Linux服务器来完成的。

2001年8月17日,Linux发布了最新的Linux 2.4.9版,它也已经十岁了。

Linux的优点

Linux的流行是因为它具有许多诱人之处。

1、完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。

2、完全兼容POSIX 1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

3、多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

4、良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Windows系统,用户可以使用鼠标对其进行操作。在X-Windows环境中就和在Windows中相似,可以说是一个Linux版的Windows。

5、丰富的网络功能

互联网是在Unix的基础上繁荣起来的,Linux的网络功能当然不会逊色。它的网络功能和其内核紧密相连,在这方面Linux要优于其他操作系统。在Linux中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。

6、可靠的安全、稳定性能

Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。Linux由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上Linux在这方面也十分出色。

7、支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

Linux的不足

由于在现在的个人电脑操作系统行业中,微软的Windows系统仍然占有大部分的份额,绝大多数的软件公司都支持Windows。这使得Windows上的应用软件应有尽有,而其他的操作系统就要少一些。许多用户在换操作系统的时候都会考虑以前的软件能否继续使用,换了操作系统后是否会不方便。虽然Linux具有DOS、Windows模拟器,可以运行一些Windows程序,但Windows系统极其复杂,模拟器所模拟的运行环境不可能完全与真实的Windows环境一模一样,这就使得一些软件无法正常运行。

许多硬件设备面对Linux的驱动程序也不足,不少硬件厂商是在推出Windows版本的驱动程序后才编写Linux版的。但一些大硬件厂商在这方面做得还不错,他们的Linux版驱动程序一般都推出得比较及时。

软件支持的不足是Linux最大的缺憾,但随着Linux的发展,越来越多的软件厂商会支持Linux,它应用的范围也越来越广。这只小企鹅的前景是十分光明的。

阅读全文

与嵌入式linux播放器相关的资料

热点内容
手机怎么解压文件夹压缩包 浏览:459
起源任务咋解压 浏览:976
加密式的监督检查 浏览:549
光遇怎么分辨安卓国服和渠道服 浏览:242
ico解压教程 浏览:632
程序员偏右 浏览:17
超算上可以进行vasp编译嘛 浏览:174
北京通app怎么注册登录 浏览:820
iphone上的数据怎么转移到安卓 浏览:743
python求每个时段平均值 浏览:244
安卓手机右上出现Hg什么意思 浏览:69
程序员神经 浏览:753
dns服务器在电脑上有什么用 浏览:915
杭州大妈喜欢程序员 浏览:687
python评论树讲解 浏览:680
juniper防火墙常用命令 浏览:426
vapp怎么下载地址 浏览:11
pdf里面内容怎么修改 浏览:807
收藏网址加密的浏览器 浏览:1001
phpurl问号 浏览:900