精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

操作系統的靈魂Linux調度系統講解

Linux愛好者 ? 來源:職場重生 ? 作者:Alex碼農的藝術 ? 2021-03-11 17:05 ? 次閱讀

本文主要是講Linux的調度系統, 由于全部內容太多,分三部分來講,調度可以說是操作系統的靈魂,為了讓CPU資源利用最大化,Linux設計了一套非常精細的調度系統,對大多數場景都進行了很多優化,系統擴展性強,我們可以根據業務模型和業務場景的特點,有針對性的去進行性能優化,在保證客戶網絡帶寬前提下,隔離客戶互相之間的干擾影響,提高CPU利用率,降低單位運算成本,提高市場競爭力。歡迎大家相互交流學習!

CPU作為計算資源,一直是云計算廠商比拼的核心競爭力,我們的目標是合理安排好計算任務,充分提高CPU的利用率,預留更多空間容錯,增強系統穩定性,讓任務更快執行,降低無效功耗,節約成本,從而提高市場競爭力。

96f8510a-7e2c-11eb-8b86-12bb97331649.png

CPU 實現的抽象邏輯圖

首先,我們有一個自動計數器。這個自動計數器會隨著時鐘主頻不斷地自增,來作為我們的 PC 寄存器;

在這個自動計數器的后面,我們連上一個譯碼器。譯碼器還要同時連著我們通過大量的 D 觸發器組成的內存。

自動計數器會隨著時鐘主頻不斷自增,從譯碼器當中,找到對應的計數器所表示的內存地址,然后讀取出里面的 CPU 指令。

讀取出來的 CPU 指令會通過CPU 時鐘的控制,寫入到一個由 D 觸發器組成的寄存器,也就是指令寄存器當中。

在指令寄存器后面,我們可以再跟一個譯碼器。這個譯碼器的作用不再是用于尋址,而是把拿到的指令解析成opcode 和對應的操作數。

當我們拿到對應的 opcode 和操作數,對應的輸出線路就要連接 ALU,開始進行各種算術和邏輯運算。對應的計算結果,則會再寫回到 D 觸發器組成的寄存器或者內存當中。

這里整個過程就大概是CPU的一條指令的執行過程。為了加快CPU指令的執行速度,CPU在發展過程中做了很多優化,例如流水線,分支預測,超標量,Hyper-threading,SIMD,多級cache,NUMA架構等, 這里主要關注Linux的調度系統。

CPU上下文

Linux 是一個多任務操作系統,它支持遠大于 CPU 數量的任務同時運行。當然,這些任務實際上并不是真的在同時運行,而是因為系統在很短的時間內,將 CPU 輪流分配給它們,造成多任務同時運行的錯覺。

而在每個任務運行前,CPU 都需要知道任務從哪里加載、又從哪里開始運行,也就是說,需要系統事先幫它設置好 CPU 寄存器和程序計數器(Program Counter,PC)。

CPU 寄存器,是 CPU 內置的容量小、但速度極快的內存。而程序計數器,則是用來存儲 CPU 正在執行的指令位置、或者即將執行的下一條指令位置。它們都是 CPU 在運行任何任務前,必須的依賴環境,因此也被叫做 CPU 上下文(執行環境):

970a56fc-7e2c-11eb-8b86-12bb97331649.png

而這些保存下來的上下文,會存儲在系統內核中(堆棧),并在任務重新調度執行時再次加載進來。這樣就能保證任務原來的狀態不受影響,讓任務看起來還是連續運行。

在Linux中,內核空間和用戶空間是兩種工作模式,操作系統運行在內核空間,而用戶態應用程序運行在用戶空間,它們代表不同的級別,而對系統資源具有不同的訪問權限。

這樣代碼(指令)執行存在不同的CPU上下文,而進行調度的時候,要進行相應的CPU上下文切換,Linux系統存在不同堆棧來保存CPU上下文,系統中每個進程都會擁有屬于自己的內核棧,而系統中每個CPU都將為中斷處理準備了兩個獨立的中斷棧,分別是hardirq棧和softirq棧:

Linux系統調用CPU上下文切換堆棧結構:

9763a5ea-7e2c-11eb-8b86-12bb97331649.png

中斷上下文:中斷代碼運行于內核空間,中斷上下文即運行中斷代碼所需要的CPU上下文環境,需要硬件傳遞過來的這些參數,內核需要保存的一些其他環境(主要是當前被打斷執行的進程或其他中斷環境),這些一般都保存在中斷棧中(x86是獨立的,其他可能和內核棧共享,這和具體處理架構密切相關),在中斷結束后,進程仍然可以從原來的狀態恢復運行。

進程上下文:進程是由內核來管理和調度的,進程的切換發生在內核態,進程的上下文不僅包括了虛擬內存、棧、全局變量等用戶空間的資源,還包括了內核堆棧、寄存器等內核空間的狀態。

系統調用上下文:進程可以在內核空間和用戶空間運行,分別稱為進程的用戶態和進程的內核態, 從用戶態到內核態的轉變需要通過系統調用來完成,需要進行CPU上下文切換,在執行系統調用時候,需要保存用戶態的CPU上下文(用戶態堆棧)到內核堆棧,然后加載內核態的CPU上下文。

CPU處理器總處于以下狀態中的一種:

1、內核態,運行于進程上下文,內核代表進程運行于內核空間;

2、內核態,運行于中斷上下文,內核代表硬件運行于內核空間;

3、用戶態,運行于用戶空間。

中斷

中斷是由硬件設備產生的,而它們從物理上說就是電信號,之后,它們通過中斷控制器發送給CPU,接著CPU判斷收到的中斷來自于哪個硬件設備(這定義在內核中),最后,由CPU發送給內核,內核來處理中斷。

979110c0-7e2c-11eb-8b86-12bb97331649.png

硬中斷簡單處理流程:

97d8c7a8-7e2c-11eb-8b86-12bb97331649.png

硬中斷實現:中斷控制器+中斷服務程序

中斷框架設計(x86):

9803f874-7e2c-11eb-8b86-12bb97331649.png

X86計算機的 CPU 為中斷只提供了兩條外接引腳:NMI 和 INTR。其中 NMI 是不可屏蔽中斷,它通常用于電源掉電和物理存儲器奇偶校驗;INTR是可屏蔽中斷,可以通過設置中斷屏蔽位來進行中斷屏蔽,它主要用于接受外部硬件的中斷信號,這些信號由中斷控制器傳遞給 CPU。當前x86 SMP架構主流都是采用多級I/O APIC(高級可編程中斷控制器)中斷系統。

Local APIC:主要負責傳遞中斷信號到指定的處理器;

I/O APIC:主要是收集來自 I/O 裝置的 Interrupt 信號且在當那些裝置需要中斷時發送信號到本地 APIC;

中斷分類:

中斷可分為同步(synchronous)中斷和異步(asynchronous)中斷:

同步中斷是當指令執行時由 CPU 控制單元主動產生,之所以稱為同步,是因為只有在一條指令執行完畢后 CPU 才會發出中斷,而不是發生在代碼指令執行期間,比如系統調用,根據 Intel 官方資料,同步中斷稱為異常(exception),異??煞譃楣收希╢ault)、陷阱(trap)、終止(abort)三類。

異步中斷是指由其他硬件設備依照 CPU 時鐘信號隨機產生,即意味著中斷能夠在指令之間發生,例如鍵盤中斷,異步中斷被稱為中斷(interrupt),中斷可分為可屏蔽中斷(Maskable interrupt)和非屏蔽中斷(Nomaskable interrupt)。

非屏蔽中斷(Non-maskable interrupts,即NMI):就像這種中斷類型的字面意思一樣,這種中斷是不可能被CPU忽略或取消的。NMI是在單獨的中斷線路上進行發送的,它通常被用于關鍵性硬件發生的錯誤,如內存錯誤,風扇故障,溫度傳感器故障等。

可屏蔽中斷(Maskable interrupts):這些中斷是可以被CPU忽略或延遲處理的。當緩存控制器的外部針腳被觸發的時候就會產生這種類型的中斷,而中斷屏蔽寄存器就會將這樣的中斷屏蔽掉。我們可以將一個比特位設置為0,來禁用在此針腳觸發的中斷。

處理流程:

9b4985c6-7e2c-11eb-8b86-12bb97331649.png

區別:

9b90af32-7e2c-11eb-8b86-12bb97331649.png

相同點:

1.最后都是由CPU發送給內核,由內核去處理;

2.處理程序的流程設計上是相似的。

不同點:

1.產生源不相同,陷阱、異常是由CPU產生的,而中斷是由硬件設備產生的;

2.內核需要根據是異常,陷阱,還是中斷調用不同的處理程序;

3.中斷不是時鐘同步的,這意味著中斷可能隨時到來;陷阱、異常是CPU產生的,所以,它是時鐘同步的;

4.當處理中斷時,處于中斷上下文中;處理陷阱、異常時,處于進程上下文中。

中斷親和:

在 SMP 體系結構中,我們可以通過系統調用和一組相關的宏來設置 CPU 親和力(CPU affinity),將一個或多個進程綁定到一個或多個處理器上運行。中斷在這方面也毫不示弱,也具有相同的特性。中斷親和力是指將一個或多個中斷源綁定到特定的 CPU 上運行;

在 /proc/irq 目錄中,對于已經注冊中斷處理程序的硬件設備,都會在該目錄下存在一個以該中斷號命名的目錄 IRQ# ,IRQ# 目錄下有一個 smp_affinity 文件(SMP 體系結構才有該文件),它是一個 CPU 的位掩碼,可以用來設置該中斷的親和力, 默認值為 0xffffffff,表明把中斷發送到所有的 CPU 上去處理。如果中斷控制器不支持 IRQ affinity,不能改變此默認值,同時也不能關閉所有的 CPU 位掩碼,即不能設置成 0x0;

中斷親和好處是,在大量硬件中斷場景,對于文件服務器、高流量 Web 服務器這樣的應用來說,把不同的網卡 IRQ 均衡綁定到不同的 CPU 上將會減輕某個 CPU 的負擔,提高多個 CPU 整體處理中斷的能力;對于數據庫服務器這樣的應用來說,把磁盤控制器綁到一個 CPU、把網卡綁定到另一個 CPU 將會提高數據庫的響應時間,優化性能。合理的根據自己的生產環境和應用的特點來平衡 IRQ 中斷有助于提高系統的整體吞吐能力和性能;

Linux系統常見中斷分類

時鐘中斷:時鐘芯片產生,主要工作是處理和時間有關的所有信息,決定是否執行調度程序以及處理下半部分。和時間有關的所有信息包括系統時間、進程的時間片、延時、使用CPU的時間、各種定時器,進程更新后的時間片為進程調度提供依據,然后在時鐘中斷返回時決定是否要執行調度程序。下半部分處理程序是Linux提供的一種機制,它使一部分工作推遲執行。時鐘中斷要絕對保證維持系統時間的準確性,“時鐘中斷”是整個操作系統的脈搏。

NMI中斷:外部硬件通過CPU的 NMI Pin 去觸發(硬件觸發),或者軟件向CPU系統總線上投遞一個NMI類型中斷(軟件觸發),NMI中斷的主要用途有兩個:

用來告知操作系統有硬件錯誤(Hardware Failure),如內存錯誤,風扇故障,溫度傳感器故障等;

用來做看門狗定時器,檢測CPU死鎖等;

硬件IO中斷:

大多數硬件外設IO中斷,比如網卡,鍵盤,硬盤,鼠標,USB,串口等;

虛擬中斷:

KVM里面一些中斷退出和中斷注入等,軟件模擬中斷;

查看方式:cat /proc/interrupts

Linux系統中斷處理

9e2886a2-7e2c-11eb-8b86-12bb97331649.png

由于中斷會打斷內核中進程的正常調度運行,所以要求中斷服務程序盡可能的短小精悍;但是在實際系統中,當中斷到來時,要完成工作往往需要進行大量的耗時處理。因此期望讓中斷處理程序運行得快,并想讓它完成的工作量多,這兩個目標相互制約,誕生頂/底半部機制。

中斷上半部分:

中斷處理程序是頂半部——接受中斷,它就立即開始執行,但只有做嚴格時限的工作。能夠被允許稍后完成的工作會推遲到底半部去,此后,在合適的時機,底半部會被開終端執行。頂半部簡單快速,執行時禁止部分或者全部中斷。

中斷下半部分:

底半部稍后執行,而且執行期間可以響應所有的中斷。這種設計可以使系統處于中斷屏蔽狀態的時間盡可能的短,以此來提高系統的響應能力。頂半部只有中斷處理程序機制,而底半部的實現有軟中斷,tasklet和工作隊列等實現方式;

軟中斷

軟中斷作為下半部機制的代表,是隨著SMP(share memory processor)的出現應運而生的,它也是tasklet實現的基礎(tasklet實際上只是在軟中斷的基礎上添加了一定的機制)。軟中斷一般是“可延遲函數”的總稱,有時候也包括了tasklet(請讀者在遇到的時候根據上下文推斷是否包含tasklet)。它的出現就是因為要滿足上面所提出的上半部和下半部的區別,使得對時間不敏感的任務延后執行,而且可以在多個CPU上并行執行,使得總的系統效率可以更高。它的特性包括:產生后并不是馬上可以執行,必須要等待內核的調度才能執行。軟中斷不能被自己打斷(即單個cpu上軟中斷不能嵌套執行),只能被硬件中斷打斷(上半部), 可以并發運行在多個CPU上(即使同一類型的也可以)。所以軟中斷必須設計為可重入的函數(允許多個CPU同時操作),因此也需要使用自旋鎖來保護其數據結構。

軟中斷的調度時機:

do_irq完成I/O中斷時調用irq_exit。

系統使用I/O APIC,在處理完本地時鐘中斷時。

local_bh_enable,即開啟本地軟中斷時。

SMP系統中,cpu處理完被CALL_FUNCTION_VECTOR處理器間中斷所觸發的函數時。

ksoftirqd/n線程被喚醒時。

軟中斷內核線程

在 Linux 中,中斷具有最高的優先級。不論在任何時刻,只要產生中斷事件,內核將立即執行相應的中斷處理程序,等到所有掛起的中斷和軟中斷處理完畢后才能執行正常的任務,因此有可能造成實時任務得不到及時的處理。中斷線程化之后,中斷將作為內核線程運行而且被賦予不同的實時優先級,實時任務可以有比中斷線程更高的優先級。這樣,具有最高優先級的實時任務就能得到優先處理,即使在嚴重負載下仍有實時性保證。但是,并不是所有的中斷都可以被線程化,比如時鐘中斷,主要用來維護系統時間以及定時器等,其中定時器是操作系統的脈搏,一旦被線程化,就有可能被掛起,后果將不堪設想,所以不應當被線程化。

軟中斷優先在 irq_exit() 中執行,如果超過時間等條件轉為 softirqd 線程中執行。滿足以下任一條件軟中斷在 softirqd 線程中執行:

在 irq_exit()-》__do_softirq() 中運行,時間超過 2ms。

在 irq_exit()-》__do_softirq() 中運行,輪詢軟中斷超過 10 次。

在 irq_exit()-》__do_softirq() 中運行,本線程需要被調度。

注:調用 raise_softirq() 喚醒軟中斷時,不在中斷環境中。

TASKLET

由于軟中斷必須使用可重入函數,這就導致設計上的復雜度變高,作為設備驅動程序的開發者來說,增加了負擔。而如果某種應用并不需要在多個CPU上并行執行,那么軟中斷其實是沒有必要的。因此誕生了彌補以上兩個要求的tasklet。它具有以下特性:

a)一種特定類型的tasklet只能運行在一個CPU上,不能并行,只能串行執行。

b)多個不同類型的tasklet可以并行在多個CPU上。

c)軟中斷是靜態分配的,在內核編譯好之后,就不能改變。但tasklet就靈活許多,可以在運行時改變(比如添加模塊時)。

tasklet是在兩種軟中斷類型的基礎上實現的,因此如果不需要軟中斷的并行特性,tasklet就是最好的選擇。也就是說tasklet是軟中斷的一種特殊用法,即延遲情況下的串行執行。

tasklet有兩種,tasklet 和 hi-tasklet:

前者對應softirq_vec[TASKLET_SOFTIRQ];

后者對應softirq_vec[HI_SOFTIRQ]。只是后者排在softirq_vec[]的第一個,所以更早被執行;

/proc/softirqs 提供了軟中斷的運行情況

# cat /proc/softirqs CPU0 HI: 1 //高優先級TASKLET軟中斷 TIMER: 12571001 //定時器軟中斷 NET_TX: 826165 //網卡發送軟中斷 NET_RX: 6263015 //網卡接收軟中斷 BLOCK: 1403226 //塊設備處理軟中斷 BLOCK_IOPOLL: 0 //塊設備處理軟中斷 TASKLET: 3752 //普通TASKLET軟中斷 SCHED: 0 //調度軟中斷 HRTIMER: 0 //當前已經沒有使用 RCU: 9729155 //RCU處理軟中斷,主要是callback函數處理

工作隊列

9e3ca79a-7e2c-11eb-8b86-12bb97331649.png

工作隊列(work queue)是Linux kernel中將工作推后執行的一種機制。軟中斷運行在中斷上下文中,因此不能阻塞和睡眠,而tasklet使用軟中斷實現,當然也不能阻塞和睡眠,工作隊列可以把工作推后,交由一個內核線程去執行—這個下半部分總是會在進程上下文執行,因此工作隊列的優勢就在于它允許重新調度甚至睡眠。

9e5d9dec-7e2c-11eb-8b86-12bb97331649.png

workqueue 中幾個角色關系:

work :工作/任務。

workqueue :工作的集合。workqueue 和 work 是一對多的關系。

worker :工人。在代碼中 worker 對應一個work_thread() 內核線程。

worker_pool:工人的集合。worker_pool 和 worker 是一對多的關系。

pwq(pool_workqueue):中間人 / 中介,負責建立起 workqueue 和 worker_pool 之間的關系。workqueue 和 pwq 是一對多的關系,pwq 和 worker_pool 是一對一的關系。

通常,在工作隊列和軟中斷/tasklet中作出選擇,可使用以下規則:

如果推后執行的任務需要睡眠,那么只能選擇工作隊列。

如果推后執行的任務需要延時指定的時間再觸發,那么使用工作隊列,因為其可以利用timer延時(內核定時器實現)。

如果推后執行的任務需要在一個tick之內處理,則使用軟中斷或tasklet,因為其可以搶占普通進程和內核線程,同時不可睡眠。

如果推后執行的任務對延遲的時間沒有任何要求,則使用工作隊列,此時通常為無關緊要的任務。

實際上,工作隊列的本質就是將工作交給內核線程處理,因此其可以用內核線程替換。但是內核線程的創建和銷毀對編程者的要求較高,而工作隊列實現了內核線程的封裝,不易出錯,推薦使用工作隊列。

中斷上下文

中斷代碼運行于內核空間,中斷上下文即運行中斷代碼所需要CPU上下文環境,需要硬件傳遞過來的這些參數,內核需要保存的一些其他環境(主要是當前被打斷執行的進程或其他中斷環境),這些一般都保存在中斷棧中(x86是獨立的,其他可能和內核棧共享,這和具體處理架構密切相關),在中斷結束后,進程仍然可以從原來的狀態恢復運行。

是否處于中斷中,在Linux中是通過preempt_count來判斷的,具體如下:

9eb10acc-7e2c-11eb-8b86-12bb97331649.png

#define in_irq() (hardirq_count()) //在處理硬中斷中

#define in_softirq() (softirq_count()) //在處理軟中斷中

#define in_interrupt() (irq_count()) //在處理硬中斷或軟中斷中

#define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != 0) //包含以上所有情況

總結和注意的點:

1.Linux kernel的設計者制定了規則:

中斷上下文不是調度實體,task才是【進程(主線程)或者線程】;

優先級順序:硬中斷上下文 》 軟中斷上下文 》 進程上下文 ;

中斷上下文(hardirq和softirq context)并不參與調度(暫不考慮中斷線程化),它們是異步事件的處理機制,目標就是盡快完成處理,返回現場。因此,所有中斷上下文的優先級都是高于進程上下文的。也就是說,對于用戶進程(無論內核態還是用戶態)或者內核線程,除非disable了CPU的本地中斷,否則一旦中斷發生,它們是沒有任何能力阻擋中斷上下文搶占當前進程上下文的執行的。

2.Linux 將中斷處理過程分成了兩個階段,也就是上半部和下半部:

上半部用來快速處理中斷,它在中斷禁止模式下運行,主要處理跟硬件緊密相關的或時間敏感的工作,需要快速執行;

下半部用來延遲處理上半部未完成的工作,通常以軟中斷方式運行,可以延遲執行。

3. 硬中斷和軟中斷(只要是中斷上下文)執行的時候都不允許內核搶占(本文后續章節會講內核搶占)。因為在中斷上下文中,唯一能打斷當前中斷handler的只有更高優先級的中斷,它不會被進程打斷(這點對于softirq,tasklet也一樣,因此這些bottom half也不能睡眠);如果在中斷上下文中睡眠,則沒有辦法喚醒它,因為所有的wake_up_xxx都是針對某個進程而言的,而在中斷上下文中,沒有進程的概念,沒有相應task_struct(這點對于softirq和tasklet一樣),因此真的睡眠了,比如調用了會導致阻塞的例程,內核幾乎會掛。

4.硬中斷可以被另一個優先級比自己高的硬中斷“中斷”,不能被同級(同一種硬中斷)或低級的硬中斷“中斷”,更不能被軟中斷“中斷”。軟中斷可以被硬中斷“中斷”,但是不會被另一個軟中斷“中斷”。在一個CPU上,軟中斷總是串行執行。所以在單處理器上,對軟中斷的數據結構進行訪問不需要加任何同步原語。

5.關中斷不會丟失中斷,但是對于期間到來的多個相同的中斷會合并成一個,即只處理一次;時鐘中斷中需要更新jieffis計數值,如果多個中斷合成一個,為了減少影響jieffis值準確性,需要其他硬件時鐘來矯正。

本期結束,我們下期再見!!

原文標題:Linux 調度系統全景指南(上篇)

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208962

原文標題:Linux 調度系統全景指南(上篇)

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux是實時系統還是分時操作系統

    大家平時玩單片機基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統非常熟悉了,他們都屬于實時操作系統(RTOS),在工業領域比較廣泛;然而對于linux這樣的基于時間片劃分的非實時
    的頭像 發表于 11-11 11:43 ?327次閱讀

    linux操作系統安裝步驟 linux操作系統的特點及組成

    Linux操作系統安裝步驟 Linux操作系統是一種開源的操作系統,它以其穩定性、安全性和靈活性而聞名。以下是安裝
    的頭像 發表于 10-21 11:24 ?458次閱讀

    使用CSL來補充操作系統調度程序處理級聯中斷

    電子發燒友網站提供《使用CSL來補充操作系統調度程序處理級聯中斷.pdf》資料免費下載
    發表于 10-16 10:12 ?0次下載
    使用CSL來補充<b class='flag-5'>操作系統</b><b class='flag-5'>調度</b>程序處理級聯中斷

    面向功能安全應用的汽車開源操作系統解決方案

    在SAE 2024國際汽車安全大會上,Elektrobit的Linux專家王紅燕在操作系統與芯片技術的分論壇上為大家帶來了“面向功能安全應用的汽車開源操作系統解決方案”主題演講。
    的頭像 發表于 09-27 09:21 ?421次閱讀
    面向功能安全應用的汽車開源<b class='flag-5'>操作系統</b>解決方案

    Linux操作系統份額創歷史新高,逼近4.5%里程碑

    在最新的全球操作系統市場份額報告中,市調機構StatCounter于8月27日發布了令人矚目的數據:2024年7月,Linux系統實現了歷史性的飛躍,其市場份額首次逼近4.5%的關口,達到了4.44%的新高。這一成就標志著
    的頭像 發表于 08-27 17:05 ?732次閱讀

    深入探討Linux的進程調度

    Linux操作系統作為一個開源且廣泛應用的操作系統,其內核設計包含了許多核心功能,而進程調度器(Scheduler)就是其中一個至關重要的模塊。進程
    的頭像 發表于 08-13 13:36 ?901次閱讀
    深入探討<b class='flag-5'>Linux</b>的進程<b class='flag-5'>調度</b>器

    嵌入式實時操作系統:Intewell操作系統與VxWorks操作系統有啥區別

    Intewell操作系統和VxWorks操作系統都是工業領域常用的操作系統,它們各有特點和優勢。以下是它們之間的一些主要區別:
    的頭像 發表于 07-08 14:16 ?382次閱讀
    嵌入式實時<b class='flag-5'>操作系統</b>:Intewell<b class='flag-5'>操作系統</b>與VxWorks<b class='flag-5'>操作系統</b>有啥區別

    工業實時操作系統對比:鴻道Intewell跟rt-linux有啥區別

    Intewell和RT-Linux是兩種不同的實時操作系統(RTOS),它們具有各自獨特的特點和優勢。以下是Intewell操作系統的一些關鍵特性,以及與RT-Linux的比較:
    的頭像 發表于 07-03 10:00 ?475次閱讀
    工業實時<b class='flag-5'>操作系統</b>對比:鴻道Intewell跟rt-<b class='flag-5'>linux</b>有啥區別

    研華工控機用什么系統?Windows與Linux操作系統的較量

    工控機用什么系統?Windows與Linux操作系統的較量。工控機(工業控制計算機)作為工業自動化和監控系統的核心組件,其穩定性、可靠性和性能對整個
    的頭像 發表于 06-14 14:38 ?638次閱讀
    研華工控機用什么<b class='flag-5'>系統</b>?Windows與<b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>的較量

    AURIX3G可以使用Linux操作系統嗎?

    即使在 AURIX3G 中,也可以使用 Linux 操作系統嗎?
    發表于 05-22 07:12

    工業控制:鴻道(Intewell)操作系統工業機器人控制解決方案

    鴻道(Intewell)操作系統作為核心基礎軟件,構建機器人控制系統的底層技術平臺。系統支持Linux/Windows的實時擴展,設備上可同時運行單個非實時
    的頭像 發表于 03-14 10:19 ?465次閱讀
    工業控制:鴻道(Intewell)<b class='flag-5'>操作系統</b>工業機器人控制解決方案

    Linux操作系統上的射頻測試模式應用指南

    電子發燒友網站提供《Linux操作系統上的射頻測試模式應用指南.pdf》資料免費下載
    發表于 02-19 09:39 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>上的射頻測試模式應用指南

    Linux操作系統中如何按下PCIe的復位鍵

    Linux操作系統中,看如何按下PCIe的復位鍵
    的頭像 發表于 01-20 09:31 ?1460次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>中如何按下PCIe的復位鍵

    深度解析全球操作系統格局

    操作系統是負責協調、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統軟件。 按照操作系統面向的設備類型,通用操作系統主要包括桌面操作系統
    的頭像 發表于 01-18 15:00 ?1071次閱讀
    深度解析全球<b class='flag-5'>操作系統</b>格局

    單片機操作系統有哪些

    單片機操作系統(RTOS)是一種專門設計用于單片機的操作系統,它可以提供任務調度、內存管理、設備驅動等功能,幫助程序員更高效地開發嵌入式系統。在本文中,我們將詳細介紹幾種常見的單片機
    的頭像 發表于 12-08 16:18 ?4948次閱讀