嵌入式开发:Linux和Windows的区别
尽管每隔几年只发布一次微软Windows的官方版本,但Linux的各种不同版本都在不断更新。在嵌入式开发中,最常用的就是Linux。
Linux与Windows的成本
与不同,大多数Linux操作系统可完全免费下载。如果你要买一台新电脑,那么你应该知道大多数电脑都预装了Windows,这已经包含在成本中了。一种节省新计算机成本并获得您真正想要的操作系统的方法是构建您自己的计算机并安装Linux操作系统而不是Windows。
安全问题
Linux通常被认为比更安全。大多数病毒被设计为在Windows上运行,而不是在其他操作系统上运行。Linux的开放源代码特性意味着漏洞和安全问题通常会很快被发现并解决,因为Linux拥有一个庞大的嵌入式开发人员网络来开发操作系统。
兼容性问题
并非所有软件都能在所有操作系统上运行。不在Linux上运行,但有几乎相同的开源Office软件包,允许您编写文档、创建电子表格和处理演示文稿。Ubuntu12.04预装了一个这样的软件包:,而Windows要求您在安装操作系统后安装office软件。您可以在中创建的每个文档保存为可由程序打开的文件,这样您就不必担心影响工作的兼容性问题。
编码
虽然大多数普通用户可能很乐意使用电脑附带的Windows操作系统,但许多程序员(特别是嵌入式开发人员)和科学家在Linux中感觉更自在。允许您编写和运行可用于自动化流程的简单脚本。
你喜欢Linux还是Windows?或者在双引导系统中同时使用两者?
嵌入式开发为什么大多数都是在Linux系统下开发
关于这个问题,可以换个方式来表述,就好比嵌入式开发是否一定需要装虚拟机并且安装linux系统这类的思考。当然回答是否定的,在windows下也能学习开发,所以不一定要安装linux;
但是,由于嵌入式产品是基于linux内核开发的,所以在开发初期为了方便,应该有一个基本的开发环境,这也是为什么要安装linux操作系统的原因了;
而为什么要虚拟机,是出于生活工作习惯了桌面的操作系统,并且不得不肯定的是windows操作系统提供了很多用户体验很高的应用程序,所以,在生活的同时,工作中,学习里,需要用linux操作系统进行开发,就直接在windows上安装虚拟机即可;
还有一点就是,开发过程中,介于跨平台的性质,很多产品也是运行在windows下的,所以也需要进行交叉编译;
综上所述,在linux操作系统进行学习开发是明智的选择。
想做嵌入式开发,为什么要学习linux?
我最开始用Linux是被逼的。当时用的是一台旧的笔记本电脑,做一些文字处理的工作。跑Windows动不动就死机,无奈之下安装了Ubuntu。当时只是想找一个Windows的替代品。用Ubuntu的图形化界面很多,不怎么用命令行,所以总觉得比不上Windows。当然,基本的功能还是全的。我用那台旧电脑兼职翻译,赚了2000块的“巨款”。
后来深入使用Linux,是因为做论文时要用服务器。服务器是Debian系统,只能用ssh连接。我只能可怜巴巴的对着命令行敲字了。也是在这种情况下,我才真正发现Linux的好处。
首先,Shell编程很方便,特别是配合Linux下的各个工具,比如cat, sed, awk, grep。我经常会向服务器的任务管理器提交工作。工作太大,没有足够处理器时,就要排队等空隙。用shell编写一个小脚本,让它来替我安排工作的提交,就节省了我大量的时间。Shell编程甚至可以实现相当复杂的功能。Linux把每个小工具的功能都做强。想要实现复杂功能时,就利用文本流把它们连接在一起。这样,功能性和独立性就都兼顾了。(Linux文本流)
其次,Linux的稳定性很好。这也是大部分服务器使用Linux的一个重要原因。我没有用过Windows的服务器版本,不好评价。但在PC上,Linux要比Windows稳定的多。由于Linux与Windows的存储方式不同,所以Linux可以长时间的持续运转,也不需要对磁盘进行碎片整理。当然,Linux的图形化界面略弱。如果用图形化界面,会时有崩溃。(为什么Linux不需要磁盘碎片整理)
再次,Linux的源码和架构都是开放的,你可以从中学到很多操作系统原理。Linux的整个哲学体系继承自UNIX,发展的年头要比Windows长很多时间,整个设计体系已经相当稳定,并化繁为简。POSIX的标准也很普遍,Linux熟悉了之后,其它的UNIX系统也很容易上手。Windows的许多东西不透明,很复杂,又常变化,并不是一个很好的学习样例。(Linux架构)
最后,Linux下的各种工具基本上都是免费的。更方便的,使用package manager下载编译好的版本。这和Windows下到处买光碟、找可用下载连接、找注册码的繁琐过程完全不同。如果你想要使用任何的工具,一般只需要几分钟,就能借网络搞定。Linux的开源社区也很活跃,很容易找到人讨论,或者找个项目练手。
再从我个人的角度说说吧。首先,Linux是一个很强的附加技能。Windows对于用户来说很贴心,但也意味着使用门槛低,基本上大家都会。而Linux,即使是命令行的使用,也需要一定时间熟悉。在CV上写上熟悉Linux的命令行使用,熟悉Linux配置,要比写熟悉Windows使用,加分不少。
其次,服务器和云服务平台选用Linux的比较多。这意味着,在超越PC的战场上,Linux是一个必修技能。如果是从事IT开发的人,Linux基本上是绕不过去的一个槛。现在Linux在移动端发展的也不错。看Ubuntu最近的动作,是希望在移动端有所作为的。而安卓用的也是Linux内核。
最后,Linux设备投入小,而Linux知识更新换代较慢,学习的性价比很高。学完后还可以通吃Unix和Mac。
嵌入式里做linux内核开发有没有前途
嵌入式里做linux内核开发有没有前途
搜索“linux”,更可以获得近2000条记录。从这些职位上看,市场上需要的嵌入式人才必须具备C语言编程经验、嵌入式操作系统(嵌入式Linux)、具有内核裁剪经验、具有驱动程序开发经验。这些都是在学校无法学到的知识。尽管很多的电子、计算机专业都开设了程序设计、微机原理、单片机等课程,但高校输送的人才与企业需要的人才却始终没有对应上。
根据《2011-2012年中国嵌入式开发从业人员调查报告》得出结论:在社会生活压力不断增大、生就业难的今天,随着高校专业学科建设更加趋于灵活高效,嵌入式及相关专业在校园内的普及和发展也达到了前所未有的速度。在高校更加贴近企业需求的实训模式的引导下,越来越多的计算机、电子、自动化等相关专业的本科生和研究生开始将自己的职业规划定位到高薪诱人且发展前景极为广阔的专业嵌入式开发领域。
arm嵌入式编程和linux内核开发有什么区别,哪个有前途
一个做应用,一个做底层移植(注意哦是移植,谁敢从0开始写),两者都会更有前途,反正单纯搞应用最没前途
嵌入式软件开发有没有前途?
没有吧?其实软件并不总是需要创新,干的时间长了,好多软件都做成了模块,大多数新工程都是重新搭建一下,新写的东西比较少。
做嵌入式linux内核开发要不要学数电模电吗
标准的答案!1:嵌入式是必须要和处理器架构打交道的!和处理器有关的电路可以说都是数字电路;所以嵌入式必须要懂数字电路; 2:linux内核开发:个人感觉还是要懂的!因为linux内核有两部分代码:和处理器架构有关的:~/arch/目录下面的代码;和通用代码;和架构相关的就是和硬件打交道了; 3:个人感觉能高开发的人都是特别大神级的人物;中国好像不多;搞的倒是挺多!但真正大牛(像linux社区的大牛)也不多! 4:个人感觉你问这个问题问的有点问题……把自己的目标放的太大了!
linux应用开发和linux内核开发有区别吗,哪个有前途
当然有区别了:linux应用开发是上层软件应用的开发,主要利用linux中的开源代码进行软件开发,是一些应用性的,跟人的需求关系有关系。
linux内核开发是开发系统底层的软件开发,用硬件关系很大,主要跟底层的硬件有关,比如:操作寄存器,驱动一些模块等。
底层较难,主要跟兴趣有关,linux内核开发的前途很好,转行业比较好转,灵活性很强
linux网络编程和linux内核开发哪个有前途
在中国真正有内核开发需求的公司并不多。
但是真正做的好的话,钱一定少不了
内核开发难度更大,首先是你要整体掌握linux结构层次,还需要对硬件很熟悉
网络编程相对简单一些
嵌入式系统linux内核开发实战指南 这本书好么
《嵌入式系统Linux内核开发实战指南(ARM平台)》凝聚了作者12年的工作经验和学习心得与体会,内容覆盖了嵌入式系统Linux内核开发的各个方面。作者根据自己11年的一线工作经验,介绍了嵌入式系统的概念、组织架构、工作原理、软硬件设计流程、开发调试方法以及嵌入式Linux的开发方法与技能,其中列举了许多作者工作中的实际案例;
●对于经验非常丰富的高手,可以参照详细目录直接阅读代码透析Linux内核实现原理的相关章节
●对于入行多年的工程师,本书包含作者10多年的实战经验与技能,让你遇到难题不求人
●对于刚起步的初学者,本书详细介绍了嵌入式Linux开发流程和方法,让你快速入门,不走弯路
Windows内核开发 vs 嵌入式开发 前途问题,谢谢!
这两个方向都是比较好的方向,但学起来确实不容易。不知道你的基础如何。做开发的人不要永远在一线做开发,做到一定的程度应该转型搞管理。Windows内核、驱动开发我不了解,前景如何不得而知;VxWorks我倒是了解一些,这个方向不错,它代表了嵌入式操作系统的最高水平。能熟练掌握VxWorks平台下的嵌入式系统研发,你就真成牛人了,不是象牛一样工作哦,而是牛B哦
请问LINUX内核开发,LINUX应用开发,LINUX嵌入式开发LINUX开发前景如何,高分求助
linux开发前景不错的,个人建议你这个时期主要是学习,丰富自己的开发经验,内核开发会让你更深入扎实的了解linux系统,嵌入式开发经验能给你更多的硬件知识的补充,建议你在这2方面若有机会有好的环境来学习的话就优先先学习吧,这2方面我认为前景更远大
去日本做嵌入式开发有前途吗
就是赚点打工钱,提高些经验,也没什么坏处,但前途还是在国内,很多人都回来了,毕竟软件都是外包给我们做的,核心架构人家不用我们开发。
linux嵌入式开发是不是必须用linux才能开发?
嵌入式linux开发,肯定是要在linux系统下操作。同楼上所说,你也可以在虚拟机环境下开发。 楼主这是没学呢打算学嵌入式开发,还是已经有些基础了呢?
那么针对嵌入式开发要学哪些我简单的说一下,仅代表当前主流观点。
嵌入式开发作为新人,第一步C语言,有很多人自认为自己C语言很厉害,但是实际上一个从事嵌入式开发的老人,至少需要3-5年你才敢对C语言说精通,特别涉及到的常用的指针、数组、数据类型、运算符与表达式、控制语句时?你真的都懂么?这些是学习嵌入式最基础的知识。
第二步,有了这些代码的基础你才能能根据需求写程序,也就是常说的应用层,应用层是相对简单的。要有理解和编码调试的能力,如系统编程、标准的I/O,文件I/O,库的制作等等。一般而言这种应用层开发有1-2个月的时间都能学会。剩下的就是大量的编码来提升自己的经验。但只会这些也能找到工作,但我相信你看完下面的发现那绝对不是你的梦想!
第三步,更高级的内容也是最难的内容,前两步更多是让你会根据需求编码,但是如何能让你的程序能在硬件平台上运行,这才是真正的难题。所以每当再进一步的话,我们会发现我们什么有很多的东西都运行的是Linux系统,可是他们和我的PC运行的Linux有什么区别呢,为什么我电脑要用风扇而手机不用风扇呢,我们打开网页查找手机的详细参数的时候,会看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,这需要进一步的了解。
对于嵌入式开发者来说,他们都经历了学习的痛苦。有句话说的好,不经历风雨怎么见彩虹。对于学习嵌入式我比较不赞成自学,他不同于一般的应用层开发。你会面临很多问题。问百度?太慢了!去机构学习虽然花了一部分钱,从时间成本和效率上来讲,无疑还是比较值得的。你可以了解下华清远见嵌入式高端IT就业培训专家。
做嵌入式开发,用哪个Linux发行版比较好
做嵌入式开发,推荐用Debian 9,RedHat 9,CentOS 7这3个版本,他们之间都差不多,Ubuntu在编译qt的嵌入式版本的库会有问题,而且GCC需要网络才能下载,如果没有网络的情况,推荐在安装的时候选开发组件哪里选多点
嵌入式开发为何多用linux
嵌入式程序开发一般在windows下进行。因为windows下的工具成熟,最主要的原因是新手上手快,你招一个新人,还要培训他linux会很麻烦,你最希望的是他可以直接关心应用的程序,就像一来让你在main函数里写东西,而不必关心main是怎么跑起来。嵌入式系统为什么用linux呢?是因为,硬件windows支持不方便,你看不到win内核里面的东西,你驱动写不出来或者写不好。windows下有可以把程序按照linux要求编译的环境,你可以看看交叉编译环境。到最后,你会发现linux,windows都一样,只是他们使用的工具不一样,就像汉语和英语的差别一样。
嵌入式linux开发为什么要在linux系统上开发,不能直接用windows呢?
因为linux之中可以建立交叉编译环境,比如你的linux是64位,你可以建立32位编译环境。
另外,linux中也可以编译arm的cpu适用的内核或者程序。
最重要的是,嵌入式开发必须调用linux的内核函数,windows下不可能可以调用,当然,也有一种在win下开发的方法——虚拟机——但是这将会使得编译速度变得很慢。
学习嵌入式Linux怎么应用开发?
提供一下几种方案\x0d\x0a\x0d\x0a一、还按照《嵌入死linux应用开发完全手册》(韦东山)的内容来,但是嵌入式linux的开发环境自己搭建。当时我是按照《鸟哥的私房菜-基础篇》和《鸟哥的私房菜-服务器篇》两篇,整出一套开发平台,CentOS5.3 + samba/vsftpd + gcc / linux-gcc 。 window平台上的工具、secureCRT。 注意:我使用了四个月学会linux操作。不知道你是否会先学这两本书,再学习韦东山老师的嵌入式呢。学完之后看似学习了很多,出来外面之后,我又去在windows平台开发,而且现在用C#。_。现在看什么嵌入式系统都非常快,很容易理解架构,如何实现。可惜自己太年轻,没有资本和人脉,不然可以实现很多有意思的东西。现在正在尝试创业。\x0d\x0a\x0d\x0a二、寻找开发板,而不是书籍作为实验的途径。书籍只是辅助,辅助你实现某种功能。可以集中linux书籍、嵌入式开发书籍、单片机开发、编程语言。宋宝华的嵌入式书籍。开发板当时用的是飞凌的,由国嵌负责技术讲解和培训。讲了不少有用的东西。现在网上的开发板多,可以淘,但是不用太贵,作用不大。找前卫的技术开发,中国看似不行。前卫老师都没搞出什么东西,我们在基本是0基础的前提下,很难实现比较前卫的技术。打好基础,看似是唯一的选择。\x0d\x0a\x0d\x0a三、单独找台PC机,直接安装ubuntu11,买本ubuntu相关的书,他会交你怎样安装使用工具的。其实和第一种解决方式是一样的,书是别人在五(六)年前写的,不符合摩尔定理。所以没办法,我们在嵌入式方面的教育还是欠缺啊,出的书都少,记那么基本,还全是个人。没有什么教育机构。\x0d\x0a\x0d\x0a希望以上对你有用。