學(xué)習(xí)如何在 Linux 終端使用命令行工具 speedtest 測試網(wǎng)速,或者僅用一條 python 命令立刻獲得網(wǎng)速的測試結(jié)果。 我們都會(huì)在連接到一個(gè)新的網(wǎng)絡(luò)或者 WIFI 的時(shí)候去測試網(wǎng)絡(luò)帶寬。 為什么不用我們自己的服務(wù)器!下面將會(huì)教你如何在 Linux 終端測試網(wǎng)速。
Linux的同步機(jī)制從2.0到2.6以來不斷發(fā)展完善。從最初的原子操作,到后來的信號(hào)量,從大內(nèi)核鎖到今天的自旋鎖。這些同步機(jī)制的發(fā)展伴隨Linux從單處理器到對稱多處理器的過渡。 伴隨著從非搶占內(nèi)核到搶占內(nèi)核的過度。Linux的鎖機(jī)制越來越有效,也越來越復(fù)雜。
嵌入式Linux設(shè)備驅(qū)動(dòng)開發(fā)之驅(qū)動(dòng)分層/分離思想 我們在學(xué)習(xí)I2C、USB、SD驅(qū)動(dòng)時(shí),有沒有發(fā)現(xiàn)一個(gè)共性,就是在驅(qū)動(dòng)開發(fā)時(shí),每個(gè)驅(qū)動(dòng)都分層三部分,由上到下分別是: 1、XXX 設(shè)備驅(qū)動(dòng) 2、XXX 核心層 3、XXX 主機(jī)控制器驅(qū)動(dòng)
互斥量從本質(zhì)上說就是一把鎖, 提供對共享資源的保護(hù)訪問。
微軟首次發(fā)布了自己的定制 Linux 內(nèi)核和發(fā)行版。在舊金山舉行的新聞發(fā)布會(huì)上,微軟宣布了 針對物聯(lián)網(wǎng)設(shè)備的解決方案 Azure Sphere。
Linux支持多種文件系統(tǒng),包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對各類文件系統(tǒng) 進(jìn)行統(tǒng)一管理,Linux引入了虛擬文件系統(tǒng)VFS(Virtual File System),為各類文件系統(tǒng)提供一個(gè)統(tǒng)一的操作界面和應(yīng)用編程接口。
一直以來寫linux驅(qū)動(dòng),都是按照固定格式,定義一個(gè)初始化和退出函數(shù),書上告訴我這兩個(gè)函數(shù)會(huì)被調(diào)用,至于為什么會(huì)被調(diào)用,在哪調(diào)用,一直不清楚。
在嵌入式系統(tǒng)中,延時(shí)是經(jīng)常需要使用的一種手段,延時(shí)的方法可以通過使用類似于\"NOP\"的指令來實(shí)現(xiàn),但是如果延時(shí)的時(shí)間比較長,如果使用太多的\"NOP\" 指令則會(huì)消耗過多的儲(chǔ)存空間,最好的方法是使用子程序(匯編語言中)或子函數(shù)(高級語言中)。當(dāng)然這里并不打算討論如果使用定時(shí)器中斷來實(shí)現(xiàn)延時(shí)。下面就在C語言中使用子函數(shù)實(shí)現(xiàn)延時(shí)的幾個(gè)問題做些討論,當(dāng)然討論高級語言的延時(shí)就需要考慮編譯器和處理器,這里為了討論的方便,而且不失一般性,可以用標(biāo)準(zhǔn)51單片機(jī)作處理器和uVision2作為編譯環(huán)境,晶振為12MHz
在Linux中,先后出現(xiàn)了音頻設(shè)備的兩種框架OSS和ALSA,本節(jié)將在介紹數(shù)字音頻設(shè)備及音頻設(shè)備硬件接口的基礎(chǔ)上,展現(xiàn)OSS和ALSA驅(qū)動(dòng)的結(jié)構(gòu)。
SELinux帶給Linux的主要價(jià)值是:提供了一個(gè)靈活的,可配置的MAC機(jī)制。
在Linux中,僅等待CPU時(shí)間的進(jìn)程稱為就緒進(jìn)程,它們被放置在一個(gè)運(yùn)行隊(duì)列中,一個(gè)就緒進(jìn)程的狀 態(tài)標(biāo)志位為TASK_RUNNING。一旦一個(gè)運(yùn)行中的進(jìn)程時(shí)間片用完, Linux 內(nèi)核的調(diào)度器會(huì)剝奪這個(gè)進(jìn)程對CPU的控制權(quán),并且從運(yùn)行隊(duì)列中選擇一個(gè)合適的進(jìn)程投入運(yùn)行。
當(dāng)一個(gè)進(jìn)程結(jié)束了運(yùn)行或在半途中終止了運(yùn)行,那么內(nèi)核就需要釋放該進(jìn)程所占用的系統(tǒng)資源。這包括進(jìn)程運(yùn)行時(shí)打開的文件,申請的內(nèi)存等。
初學(xué)時(shí)最好從命令行入手,這樣可以熟悉從編寫程序、編譯、調(diào)試和執(zhí)行的整個(gè)過程。編寫程序可以用vi或其它編輯器編寫。
如果從應(yīng)用層的應(yīng)用開發(fā)出發(fā),建議先熟悉API函數(shù)。如果從應(yīng)用層的界面開發(fā)出發(fā),則建議學(xué)習(xí)Qt,WinCE或Android等。
gcc是C編譯器,g++是C++編譯器,linux下cc一般是一個(gè)符號(hào)連接,指向gcc;gcc和g++都是GUN(組織)的編譯器。而CC則一般是makefile里面的一個(gè)名字,即宏定義,嘿,因?yàn)長inux/Unix都是大小寫敏感的系統(tǒng),這點(diǎn)一定要注意。
隨著GPS(全球定位系統(tǒng))和便攜移動(dòng)設(shè)備的飛速發(fā)展,各種各樣以GPS為基礎(chǔ)的便攜式定位系統(tǒng)相繼出現(xiàn).嵌入式Linux以其開放性、安全性、健壯性和 穩(wěn)定性越來越成為各種便攜設(shè)備的主要開發(fā)平臺(tái),因此GPS模塊與嵌入式Linux平臺(tái)之間的通信成了實(shí)現(xiàn)定位系統(tǒng)的基礎(chǔ).
視頻監(jiān)控系統(tǒng)一直是監(jiān)控領(lǐng)域中的熱點(diǎn),它以直觀、方便、信息內(nèi)容豐富而在各個(gè)行業(yè)得到廣泛應(yīng)用,如:交通、電力、通信、石油、碼頭、倉庫、金融、政府機(jī)關(guān)企事業(yè)單位辦事窗口,和軍隊(duì)、公安、監(jiān)獄、水利/水廠、民航等要害部門。
由于很多人總問這個(gè)問題,所以這里做一個(gè)總結(jié)供大家參考。這里必須先說明,以下的步驟都是針對Linux系統(tǒng)的,并不面向WinCE。
學(xué)習(xí)Linux,內(nèi)核常識(shí)都有哪些?
Linux設(shè)備驅(qū)動(dòng)的難點(diǎn)在于復(fù)雜的,龐大的結(jié)構(gòu)。理清楚結(jié)構(gòu)和一個(gè)結(jié)構(gòu)與另外結(jié)構(gòu)的關(guān)系,以及l(fā)inux設(shè)備驅(qū)動(dòng)的層次性和層次封裝抽象性。對于linux設(shè)備驅(qū)動(dòng)的結(jié)構(gòu)有點(diǎn)像C++中的類,而層次與抽象有點(diǎn)像繼承的關(guān)系。