嵌入式開發(fā):Linux和Windows的區(qū)別
盡管每隔幾年只發(fā)布一次微軟Windows的官方版本,但Linux的各種不同版本都在不斷更新。在嵌入式開發(fā)中,最常用的就是Linux。
Linux與Windows的成本
與不同,大多數(shù)Linux操作系統(tǒng)可完全免費(fèi)下載。如果你要買一臺(tái)新電腦,那么你應(yīng)該知道大多數(shù)電腦都預(yù)裝了Windows,這已經(jīng)包含在成本中了。一種節(jié)省新計(jì)算機(jī)成本并獲得您真正想要的操作系統(tǒng)的方法是構(gòu)建您自己的計(jì)算機(jī)并安裝Linux操作系統(tǒng)而不是Windows。
安全問題
Linux通常被認(rèn)為比更安全。大多數(shù)病毒被設(shè)計(jì)為在Windows上運(yùn)行,而不是在其他操作系統(tǒng)上運(yùn)行。Linux的開放源代碼特性意味著漏洞和安全問題通常會(huì)很快被發(fā)現(xiàn)并解決,因?yàn)長inux擁有一個(gè)龐大的嵌入式開發(fā)人員網(wǎng)絡(luò)來開發(fā)操作系統(tǒng)。
兼容性問題
并非所有軟件都能在所有操作系統(tǒng)上運(yùn)行。不在Linux上運(yùn)行,但有幾乎相同的開源Office軟件包,允許您編寫文檔、創(chuàng)建電子表格和處理演示文稿。Ubuntu12.04預(yù)裝了一個(gè)這樣的軟件包:,而Windows要求您在安裝操作系統(tǒng)后安裝office軟件。您可以在中創(chuàng)建的每個(gè)文檔保存為可由程序打開的文件,這樣您就不必?fù)?dān)心影響工作的兼容性問題。
編碼
雖然大多數(shù)普通用戶可能很樂意使用電腦附帶的Windows操作系統(tǒng),但許多程序員(特別是嵌入式開發(fā)人員)和科學(xué)家在Linux中感覺更自在。允許您編寫和運(yùn)行可用于自動(dòng)化流程的簡單腳本。
你喜歡Linux還是Windows?或者在雙引導(dǎo)系統(tǒng)中同時(shí)使用兩者?
嵌入式開發(fā)為什么大多數(shù)都是在Linux系統(tǒng)下開發(fā)
關(guān)于這個(gè)問題,可以換個(gè)方式來表述,就好比嵌入式開發(fā)是否一定需要裝虛擬機(jī)并且安裝linux系統(tǒng)這類的思考。當(dāng)然回答是否定的,在windows下也能學(xué)習(xí)開發(fā),所以不一定要安裝linux;
但是,由于嵌入式產(chǎn)品是基于linux內(nèi)核開發(fā)的,所以在開發(fā)初期為了方便,應(yīng)該有一個(gè)基本的開發(fā)環(huán)境,這也是為什么要安裝linux操作系統(tǒng)的原因了;
而為什么要虛擬機(jī),是出于生活工作習(xí)慣了桌面的操作系統(tǒng),并且不得不肯定的是windows操作系統(tǒng)提供了很多用戶體驗(yàn)很高的應(yīng)用程序,所以,在生活的同時(shí),工作中,學(xué)習(xí)里,需要用linux操作系統(tǒng)進(jìn)行開發(fā),就直接在windows上安裝虛擬機(jī)即可;
還有一點(diǎn)就是,開發(fā)過程中,介于跨平臺(tái)的性質(zhì),很多產(chǎn)品也是運(yùn)行在windows下的,所以也需要進(jìn)行交叉編譯;
綜上所述,在linux操作系統(tǒng)進(jìn)行學(xué)習(xí)開發(fā)是明智的選擇。
想做嵌入式開發(fā),為什么要學(xué)習(xí)linux?
我最開始用Linux是被逼的。當(dāng)時(shí)用的是一臺(tái)舊的筆記本電腦,做一些文字處理的工作。跑Windows動(dòng)不動(dòng)就死機(jī),無奈之下安裝了Ubuntu。當(dāng)時(shí)只是想找一個(gè)Windows的替代品。用Ubuntu的圖形化界面很多,不怎么用命令行,所以總覺得比不上Windows。當(dāng)然,基本的功能還是全的。我用那臺(tái)舊電腦兼職翻譯,賺了2000塊的“巨款”。
后來深入使用Linux,是因?yàn)樽稣撐臅r(shí)要用服務(wù)器。服務(wù)器是Debian系統(tǒng),只能用ssh連接。我只能可憐巴巴的對著命令行敲字了。也是在這種情況下,我才真正發(fā)現(xiàn)Linux的好處。
首先,Shell編程很方便,特別是配合Linux下的各個(gè)工具,比如cat, sed, awk, grep。我經(jīng)常會(huì)向服務(wù)器的任務(wù)管理器提交工作。工作太大,沒有足夠處理器時(shí),就要排隊(duì)等空隙。用shell編寫一個(gè)小腳本,讓它來替我安排工作的提交,就節(jié)省了我大量的時(shí)間。Shell編程甚至可以實(shí)現(xiàn)相當(dāng)復(fù)雜的功能。Linux把每個(gè)小工具的功能都做強(qiáng)。想要實(shí)現(xiàn)復(fù)雜功能時(shí),就利用文本流把它們連接在一起。這樣,功能性和獨(dú)立性就都兼顧了。(Linux文本流)
其次,Linux的穩(wěn)定性很好。這也是大部分服務(wù)器使用Linux的一個(gè)重要原因。我沒有用過Windows的服務(wù)器版本,不好評(píng)價(jià)。但在PC上,Linux要比Windows穩(wěn)定的多。由于Linux與Windows的存儲(chǔ)方式不同,所以Linux可以長時(shí)間的持續(xù)運(yùn)轉(zhuǎn),也不需要對磁盤進(jìn)行碎片整理。當(dāng)然,Linux的圖形化界面略弱。如果用圖形化界面,會(huì)時(shí)有崩潰。(為什么Linux不需要磁盤碎片整理)
再次,Linux的源碼和架構(gòu)都是開放的,你可以從中學(xué)到很多操作系統(tǒng)原理。Linux的整個(gè)哲學(xué)體系繼承自UNIX,發(fā)展的年頭要比Windows長很多時(shí)間,整個(gè)設(shè)計(jì)體系已經(jīng)相當(dāng)穩(wěn)定,并化繁為簡。POSIX的標(biāo)準(zhǔn)也很普遍,Linux熟悉了之后,其它的UNIX系統(tǒng)也很容易上手。Windows的許多東西不透明,很復(fù)雜,又常變化,并不是一個(gè)很好的學(xué)習(xí)樣例。(Linux架構(gòu))
最后,Linux下的各種工具基本上都是免費(fèi)的。更方便的,使用package manager下載編譯好的版本。這和Windows下到處買光碟、找可用下載連接、找注冊碼的繁瑣過程完全不同。如果你想要使用任何的工具,一般只需要幾分鐘,就能借網(wǎng)絡(luò)搞定。Linux的開源社區(qū)也很活躍,很容易找到人討論,或者找個(gè)項(xiàng)目練手。
再從我個(gè)人的角度說說吧。首先,Linux是一個(gè)很強(qiáng)的附加技能。Windows對于用戶來說很貼心,但也意味著使用門檻低,基本上大家都會(huì)。而Linux,即使是命令行的使用,也需要一定時(shí)間熟悉。在CV上寫上熟悉Linux的命令行使用,熟悉Linux配置,要比寫熟悉Windows使用,加分不少。
其次,服務(wù)器和云服務(wù)平臺(tái)選用Linux的比較多。這意味著,在超越PC的戰(zhàn)場上,Linux是一個(gè)必修技能。如果是從事IT開發(fā)的人,Linux基本上是繞不過去的一個(gè)檻?,F(xiàn)在Linux在移動(dòng)端發(fā)展的也不錯(cuò)??碪buntu最近的動(dòng)作,是希望在移動(dòng)端有所作為的。而安卓用的也是Linux內(nèi)核。
最后,Linux設(shè)備投入小,而Linux知識(shí)更新?lián)Q代較慢,學(xué)習(xí)的性價(jià)比很高。學(xué)完后還可以通吃Unix和Mac。
嵌入式里做linux內(nèi)核開發(fā)有沒有前途
嵌入式里做linux內(nèi)核開發(fā)有沒有前途
搜索“l(fā)inux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經(jīng)驗(yàn)、嵌入式操作系統(tǒng)(嵌入式Linux)、具有內(nèi)核裁剪經(jīng)驗(yàn)、具有驅(qū)動(dòng)程序開發(fā)經(jīng)驗(yàn)。這些都是在學(xué)校無法學(xué)到的知識(shí)。盡管很多的電子、計(jì)算機(jī)專業(yè)都開設(shè)了程序設(shè)計(jì)、微機(jī)原理、單片機(jī)等課程,但高校輸送的人才與企業(yè)需要的人才卻始終沒有對應(yīng)上。
根據(jù)《2011-2012年中國嵌入式開發(fā)從業(yè)人員調(diào)查報(bào)告》得出結(jié)論:在社會(huì)生活壓力不斷增大、生就業(yè)難的今天,隨著高校專業(yè)學(xué)科建設(shè)更加趨于靈活高效,嵌入式及相關(guān)專業(yè)在校園內(nèi)的普及和發(fā)展也達(dá)到了前所未有的速度。在高校更加貼近企業(yè)需求的實(shí)訓(xùn)模式的引導(dǎo)下,越來越多的計(jì)算機(jī)、電子、自動(dòng)化等相關(guān)專業(yè)的本科生和研究生開始將自己的職業(yè)規(guī)劃定位到高薪誘人且發(fā)展前景極為廣闊的專業(yè)嵌入式開發(fā)領(lǐng)域。
arm嵌入式編程和linux內(nèi)核開發(fā)有什么區(qū)別,哪個(gè)有前途
一個(gè)做應(yīng)用,一個(gè)做底層移植(注意哦是移植,誰敢從0開始寫),兩者都會(huì)更有前途,反正單純搞應(yīng)用最沒前途
嵌入式軟件開發(fā)有沒有前途?
沒有吧?其實(shí)軟件并不總是需要?jiǎng)?chuàng)新,干的時(shí)間長了,好多軟件都做成了模塊,大多數(shù)新工程都是重新搭建一下,新寫的東西比較少。
做嵌入式linux內(nèi)核開發(fā)要不要學(xué)數(shù)電模電嗎
標(biāo)準(zhǔn)的答案!1:嵌入式是必須要和處理器架構(gòu)打交道的!和處理器有關(guān)的電路可以說都是數(shù)字電路;所以嵌入式必須要懂?dāng)?shù)字電路; 2:linux內(nèi)核開發(fā):個(gè)人感覺還是要懂的!因?yàn)閘inux內(nèi)核有兩部分代碼:和處理器架構(gòu)有關(guān)的:~/arch/目錄下面的代碼;和通用代碼;和架構(gòu)相關(guān)的就是和硬件打交道了; 3:個(gè)人感覺能高開發(fā)的人都是特別大神級(jí)的人物;中國好像不多;搞的倒是挺多!但真正大牛(像linux社區(qū)的大牛)也不多! 4:個(gè)人感覺你問這個(gè)問題問的有點(diǎn)問題……把自己的目標(biāo)放的太大了!
linux應(yīng)用開發(fā)和linux內(nèi)核開發(fā)有區(qū)別嗎,哪個(gè)有前途
當(dāng)然有區(qū)別了:linux應(yīng)用開發(fā)是上層軟件應(yīng)用的開發(fā),主要利用linux中的開源代碼進(jìn)行軟件開發(fā),是一些應(yīng)用性的,跟人的需求關(guān)系有關(guān)系。
linux內(nèi)核開發(fā)是開發(fā)系統(tǒng)底層的軟件開發(fā),用硬件關(guān)系很大,主要跟底層的硬件有關(guān),比如:操作寄存器,驅(qū)動(dòng)一些模塊等。
底層較難,主要跟興趣有關(guān),linux內(nèi)核開發(fā)的前途很好,轉(zhuǎn)行業(yè)比較好轉(zhuǎn),靈活性很強(qiáng)
linux網(wǎng)絡(luò)編程和linux內(nèi)核開發(fā)哪個(gè)有前途
在中國真正有內(nèi)核開發(fā)需求的公司并不多。
但是真正做的好的話,錢一定少不了
內(nèi)核開發(fā)難度更大,首先是你要整體掌握linux結(jié)構(gòu)層次,還需要對硬件很熟悉
網(wǎng)絡(luò)編程相對簡單一些
嵌入式系統(tǒng)linux內(nèi)核開發(fā)實(shí)戰(zhàn)指南 這本書好么
《嵌入式系統(tǒng)Linux內(nèi)核開發(fā)實(shí)戰(zhàn)指南(ARM平臺(tái))》凝聚了作者12年的工作經(jīng)驗(yàn)和學(xué)習(xí)心得與體會(huì),內(nèi)容覆蓋了嵌入式系統(tǒng)Linux內(nèi)核開發(fā)的各個(gè)方面。作者根據(jù)自己11年的一線工作經(jīng)驗(yàn),介紹了嵌入式系統(tǒng)的概念、組織架構(gòu)、工作原理、軟硬件設(shè)計(jì)流程、開發(fā)調(diào)試方法以及嵌入式Linux的開發(fā)方法與技能,其中列舉了許多作者工作中的實(shí)際案例;
●對于經(jīng)驗(yàn)非常豐富的高手,可以參照詳細(xì)目錄直接閱讀代碼透析Linux內(nèi)核實(shí)現(xiàn)原理的相關(guān)章節(jié)
●對于入行多年的工程師,本書包含作者10多年的實(shí)戰(zhàn)經(jīng)驗(yàn)與技能,讓你遇到難題不求人
●對于剛起步的初學(xué)者,本書詳細(xì)介紹了嵌入式Linux開發(fā)流程和方法,讓你快速入門,不走彎路
Windows內(nèi)核開發(fā) vs 嵌入式開發(fā) 前途問題,謝謝!
這兩個(gè)方向都是比較好的方向,但學(xué)起來確實(shí)不容易。不知道你的基礎(chǔ)如何。做開發(fā)的人不要永遠(yuǎn)在一線做開發(fā),做到一定的程度應(yīng)該轉(zhuǎn)型搞管理。Windows內(nèi)核、驅(qū)動(dòng)開發(fā)我不了解,前景如何不得而知;VxWorks我倒是了解一些,這個(gè)方向不錯(cuò),它代表了嵌入式操作系統(tǒng)的最高水平。能熟練掌握VxWorks平臺(tái)下的嵌入式系統(tǒng)研發(fā),你就真成牛人了,不是象牛一樣工作哦,而是牛B哦
請問LINUX內(nèi)核開發(fā),LINUX應(yīng)用開發(fā),LINUX嵌入式開發(fā)LINUX開發(fā)前景如何,高分求助
linux開發(fā)前景不錯(cuò)的,個(gè)人建議你這個(gè)時(shí)期主要是學(xué)習(xí),豐富自己的開發(fā)經(jīng)驗(yàn),內(nèi)核開發(fā)會(huì)讓你更深入扎實(shí)的了解linux系統(tǒng),嵌入式開發(fā)經(jīng)驗(yàn)?zāi)芙o你更多的硬件知識(shí)的補(bǔ)充,建議你在這2方面若有機(jī)會(huì)有好的環(huán)境來學(xué)習(xí)的話就優(yōu)先先學(xué)習(xí)吧,這2方面我認(rèn)為前景更遠(yuǎn)大
去日本做嵌入式開發(fā)有前途嗎
就是賺點(diǎn)打工錢,提高些經(jīng)驗(yàn),也沒什么壞處,但前途還是在國內(nèi),很多人都回來了,畢竟軟件都是外包給我們做的,核心架構(gòu)人家不用我們開發(fā)。
linux嵌入式開發(fā)是不是必須用linux才能開發(fā)?
嵌入式linux開發(fā),肯定是要在linux系統(tǒng)下操作。同樓上所說,你也可以在虛擬機(jī)環(huán)境下開發(fā)。 樓主這是沒學(xué)呢打算學(xué)嵌入式開發(fā),還是已經(jīng)有些基礎(chǔ)了呢?
那么針對嵌入式開發(fā)要學(xué)哪些我簡單的說一下,僅代表當(dāng)前主流觀點(diǎn)。
嵌入式開發(fā)作為新人,第一步C語言,有很多人自認(rèn)為自己C語言很厲害,但是實(shí)際上一個(gè)從事嵌入式開發(fā)的老人,至少需要3-5年你才敢對C語言說精通,特別涉及到的常用的指針、數(shù)組、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式、控制語句時(shí)?你真的都懂么?這些是學(xué)習(xí)嵌入式最基礎(chǔ)的知識(shí)。
第二步,有了這些代碼的基礎(chǔ)你才能能根據(jù)需求寫程序,也就是常說的應(yīng)用層,應(yīng)用層是相對簡單的。要有理解和編碼調(diào)試的能力,如系統(tǒng)編程、標(biāo)準(zhǔn)的I/O,文件I/O,庫的制作等等。一般而言這種應(yīng)用層開發(fā)有1-2個(gè)月的時(shí)間都能學(xué)會(huì)。剩下的就是大量的編碼來提升自己的經(jīng)驗(yàn)。但只會(huì)這些也能找到工作,但我相信你看完下面的發(fā)現(xiàn)那絕對不是你的夢想!
第三步,更高級(jí)的內(nèi)容也是最難的內(nèi)容,前兩步更多是讓你會(huì)根據(jù)需求編碼,但是如何能讓你的程序能在硬件平臺(tái)上運(yùn)行,這才是真正的難題。所以每當(dāng)再進(jìn)一步的話,我們會(huì)發(fā)現(xiàn)我們什么有很多的東西都運(yùn)行的是Linux系統(tǒng),可是他們和我的PC運(yùn)行的Linux有什么區(qū)別呢,為什么我電腦要用風(fēng)扇而手機(jī)不用風(fēng)扇呢,我們打開網(wǎng)頁查找手機(jī)的詳細(xì)參數(shù)的時(shí)候,會(huì)看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,這需要進(jìn)一步的了解。
對于嵌入式開發(fā)者來說,他們都經(jīng)歷了學(xué)習(xí)的痛苦。有句話說的好,不經(jīng)歷風(fēng)雨怎么見彩虹。對于學(xué)習(xí)嵌入式我比較不贊成自學(xué),他不同于一般的應(yīng)用層開發(fā)。你會(huì)面臨很多問題。問百度?太慢了!去機(jī)構(gòu)學(xué)習(xí)雖然花了一部分錢,從時(shí)間成本和效率上來講,無疑還是比較值得的。你可以了解下華清遠(yuǎn)見嵌入式高端IT就業(yè)培訓(xùn)專家。
做嵌入式開發(fā),用哪個(gè)Linux發(fā)行版比較好
做嵌入式開發(fā),推薦用Debian 9,RedHat 9,CentOS 7這3個(gè)版本,他們之間都差不多,Ubuntu在編譯qt的嵌入式版本的庫會(huì)有問題,而且GCC需要網(wǎng)絡(luò)才能下載,如果沒有網(wǎng)絡(luò)的情況,推薦在安裝的時(shí)候選開發(fā)組件哪里選多點(diǎn)
嵌入式開發(fā)為何多用linux
嵌入式程序開發(fā)一般在windows下進(jìn)行。因?yàn)閣indows下的工具成熟,最主要的原因是新手上手快,你招一個(gè)新人,還要培訓(xùn)他linux會(huì)很麻煩,你最希望的是他可以直接關(guān)心應(yīng)用的程序,就像一來讓你在main函數(shù)里寫東西,而不必關(guān)心main是怎么跑起來。嵌入式系統(tǒng)為什么用linux呢?是因?yàn)?,硬件windows支持不方便,你看不到win內(nèi)核里面的東西,你驅(qū)動(dòng)寫不出來或者寫不好。windows下有可以把程序按照linux要求編譯的環(huán)境,你可以看看交叉編譯環(huán)境。到最后,你會(huì)發(fā)現(xiàn)linux,windows都一樣,只是他們使用的工具不一樣,就像漢語和英語的差別一樣。
嵌入式linux開發(fā)為什么要在linux系統(tǒng)上開發(fā),不能直接用windows呢?
因?yàn)閘inux之中可以建立交叉編譯環(huán)境,比如你的linux是64位,你可以建立32位編譯環(huán)境。
另外,linux中也可以編譯arm的cpu適用的內(nèi)核或者程序。
最重要的是,嵌入式開發(fā)必須調(diào)用linux的內(nèi)核函數(shù),windows下不可能可以調(diào)用,當(dāng)然,也有一種在win下開發(fā)的方法——虛擬機(jī)——但是這將會(huì)使得編譯速度變得很慢。
學(xué)習(xí)嵌入式Linux怎么應(yīng)用開發(fā)?
提供一下幾種方案\x0d\x0a\x0d\x0a一、還按照《嵌入死linux應(yīng)用開發(fā)完全手冊》(韋東山)的內(nèi)容來,但是嵌入式linux的開發(fā)環(huán)境自己搭建。當(dāng)時(shí)我是按照《鳥哥的私房菜-基礎(chǔ)篇》和《鳥哥的私房菜-服務(wù)器篇》兩篇,整出一套開發(fā)平臺(tái),CentOS5.3 + samba/vsftpd + gcc / linux-gcc 。 window平臺(tái)上的工具、secureCRT。 注意:我使用了四個(gè)月學(xué)會(huì)linux操作。不知道你是否會(huì)先學(xué)這兩本書,再學(xué)習(xí)韋東山老師的嵌入式呢。學(xué)完之后看似學(xué)習(xí)了很多,出來外面之后,我又去在windows平臺(tái)開發(fā),而且現(xiàn)在用C#。_。現(xiàn)在看什么嵌入式系統(tǒng)都非??欤苋菀桌斫饧軜?gòu),如何實(shí)現(xiàn)。可惜自己太年輕,沒有資本和人脈,不然可以實(shí)現(xiàn)很多有意思的東西?,F(xiàn)在正在嘗試創(chuàng)業(yè)。\x0d\x0a\x0d\x0a二、尋找開發(fā)板,而不是書籍作為實(shí)驗(yàn)的途徑。書籍只是輔助,輔助你實(shí)現(xiàn)某種功能??梢约衛(wèi)inux書籍、嵌入式開發(fā)書籍、單片機(jī)開發(fā)、編程語言。宋寶華的嵌入式書籍。開發(fā)板當(dāng)時(shí)用的是飛凌的,由國嵌負(fù)責(zé)技術(shù)講解和培訓(xùn)。講了不少有用的東西?,F(xiàn)在網(wǎng)上的開發(fā)板多,可以淘,但是不用太貴,作用不大。找前衛(wèi)的技術(shù)開發(fā),中國看似不行。前衛(wèi)老師都沒搞出什么東西,我們在基本是0基礎(chǔ)的前提下,很難實(shí)現(xiàn)比較前衛(wèi)的技術(shù)。打好基礎(chǔ),看似是唯一的選擇。\x0d\x0a\x0d\x0a三、單獨(dú)找臺(tái)PC機(jī),直接安裝ubuntu11,買本ubuntu相關(guān)的書,他會(huì)交你怎樣安裝使用工具的。其實(shí)和第一種解決方式是一樣的,書是別人在五(六)年前寫的,不符合摩爾定理。所以沒辦法,我們在嵌入式方面的教育還是欠缺啊,出的書都少,記那么基本,還全是個(gè)人。沒有什么教育機(jī)構(gòu)。\x0d\x0a\x0d\x0a希望以上對你有用。