時(shí)間:2018-10-14 00:00:00 來(lái)源:信盈達(dá) 作者:信盈達(dá)
問(wèn):task有幾種狀態(tài)?
答:就緒、掛起、阻塞、睡眠、運(yùn)行
問(wèn):task有幾種通訊方式?
答:共享內(nèi)存、信號(hào)量、消息隊(duì)列和管道、socket
問(wèn):sysfs主要的作用?
答:sysfs文件系統(tǒng)不僅可以把設(shè)備(devices)和驅(qū)動(dòng)程序(drivers) 的信息從內(nèi)核輸出到用戶空間,也可以用來(lái)對(duì)設(shè)備和驅(qū)動(dòng)程序做設(shè)置,sysfs 的目的是把一些原本在 procfs 中的,關(guān)于設(shè)備的部份,獨(dú)立出來(lái),以‘ 設(shè)備層次結(jié)構(gòu)架構(gòu)’(device tree)的形式呈現(xiàn)。
問(wèn):全局變量、局部變量、靜態(tài)全局變量、靜態(tài)局部變量的區(qū)別和引用方式?
答:初始化的全局變量在.data段,可以外部文本加extern引用;
未初始化的全局變量在.bss段,可以外部文本加extern引用;
靜態(tài)全局變量區(qū)別是不能在外部文件引用;
局部變量在運(yùn)行時(shí),棧區(qū)分配空間;
靜態(tài)局部變量在靜態(tài)區(qū)分配空間,函數(shù)調(diào)用后內(nèi)存不釋放;
問(wèn):內(nèi)存的分配方式有哪三種,請(qǐng)簡(jiǎn)單介紹一下。
答:內(nèi)存分配有三種:靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)。他們的功能不同,他們使用方式也就不同。
1. 靜態(tài)存儲(chǔ)區(qū):內(nèi)存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在。它主要存放靜態(tài)數(shù)據(jù)、全局?jǐn)?shù)據(jù)和常量。
2. 棧區(qū):在執(zhí)行函數(shù)時(shí),函數(shù)(包括main函數(shù))內(nèi)局部變量的存儲(chǔ)單元都可以在棧上創(chuàng)建,函數(shù)執(zhí)行結(jié)束時(shí)這些存儲(chǔ)單元自動(dòng)被釋放。棧內(nèi)存分配運(yùn)算內(nèi)置于處理器的指令集中,效率很高,但是分配的內(nèi)存容量有限。(任何變量都處于站區(qū),例如int a[] = {1, 2},變量a處于棧區(qū)。數(shù)組的內(nèi)容也存在于棧區(qū)。)
3. 堆區(qū):亦稱動(dòng)態(tài)內(nèi)存分配。程序在運(yùn)行的時(shí)候用malloc或new申請(qǐng)任意大小的內(nèi)存,程序員自己負(fù)責(zé)在適當(dāng)?shù)臅r(shí)候用free或delete釋放內(nèi)存。動(dòng)態(tài)內(nèi)存的生存期可以由我們決定,如果我們不釋放內(nèi)存,程序?qū)⒃谧詈蟛裴尫诺魟?dòng)態(tài)內(nèi)存。 但是,良好的編程習(xí)慣是:如果某動(dòng)態(tài)內(nèi)存不再使用,需要將其釋放掉,并立即將指針置位NULL,防止產(chǎn)生野指針。
免費(fèi)領(lǐng)取試聽(tīng)卡
申請(qǐng)已經(jīng)提交
老師會(huì)馬上給您安排試聽(tīng)課程!
申請(qǐng)出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢!