Linux內核驅動之gpio子系統的使用

2024-05-11T04:44:42.653005+00:00

一 概述linux內核中gpio是簡單,常用的資源(和 interrupt ,dma,timer一樣)驅動程序,應用程式都能夠通過相應的接口使用gpio,gpio使用0~MAX_INT之間的整數標識,不能使用負數,gpio與硬體體系密切相關的,不過linux有一個框架處理gpio

探索Linux內核:發現代碼中的智慧和樂趣

2024-05-09T01:29:14.097918+00:00

探索Linux內核,發現代碼中的智慧和樂趣。越深入研究Linux內核,越會感受到其中的無窮樂趣。這是因為Linux內核的代碼是由世界上最聰明的一群人用二三十年的時間編寫而成的。在這些代碼中充滿了智慧的光芒,因為為了提高效率,他們設計了各種嵌入式算法和技術。

一文讀懂Linux內核的歷史(建議收藏)

2024-03-25T16:56:47.464825+00:00

「Linux是一種自由的、開源的作業系統,它的內核由芬蘭學生林納斯·托瓦茲(Linus Torvalds)於1991年開始編寫,並在同年發布了第一個版本。Linux內核從最初的幾個C文件發展到了2018年的4.15版本,擁有超過2330萬行的原始碼1。

「運維」深入理解Linux內核進程上下文切換

2024-01-16T19:40:30.822795+00:00

本篇文章是《「計算機基礎」一文讓你明白CPU上下文切換》擴展篇。我都知道作業系統的一個重要功能就是進行進程管理,而進程管理就是在合適的時機選擇合適的進程來執行,在單個cpu運行隊列上各個進程宏觀並行微觀串行執行,多個cpu運行隊列上的各個進程之間完全的並行執行。

Linux內核詳解

2023-12-15T16:09:40.932644+00:00

一、Linux內核分層模型Linux內核採用分層的模型,這個模型將內核的不同組成部分劃分為層次結構,每一層都有特定的職責。以下是Linux內核的主要分層模型:1.

揭秘Linux內核,你了解多少?

2023-12-07T20:18:48.739725+00:00

Linux作為全球最流行的開源作業系統,其內核的設計和實現一直是計算機科學領域的熱門話題。本文將深入探討Linux內核的基本構成和工作原理,幫助讀者更好地理解這個強大的系統。接下來我們簡單的了解一下Linux內核的幾個方面。

如何升級Linux內核?

2022-12-05T13:46:19.883509+00:00

大約每兩到三個月左右就有一個新的Linux內核版本發布,與此類似,一個內核版本支持多長時間也沒有固定的日期和時間表。一個普通的穩定內核版本通常會被支持兩個半月到三個月,這取決於下一個穩定內核版本的發布時間。

一文看懂linux內核詳解

2022-12-02T09:33:20.860580+00:00

一、linux的內核管理:對內核的基本認識我們所談到的作業系統主要指內核以上功能據沒有涉及實現文本編輯、實現字處理,也沒有服務等等。故,作業系統是一種通用軟體,是平台類軟體,自己並不做任何工作,只是給其他程序提供了運行環境。

我們這群90後,正在字節跳動「死磕」Linux內核

2022-11-22T06:04:30.513048+00:00

在本期訪談中,InfoQ 有幸採訪到了 STE 內核方向的多位核心成員,了解他們在 Linux 內核優化上的技術實踐與經驗,以及這些工作為業務帶來的價值,同時一窺這支專注於底層基礎設施建設、在「看不見的地方」用技術構築城牆的團隊的精神和文化。

嵌入式Linux內核要怎麼學?

2022-10-26T04:16:12.348304+00:00

學習Linux內核,每個人都有一套自己的方法,算是見仁見智吧。一般從事嵌入式Linux驅動和內核開發工作,工程師主要分為兩種:一種是做產品研發的,另外一種是做開源社區。內核學習對內核的認知是一個反覆的過程,一開始並不完善,可能需要反覆糾正。

詳細講解Linux內核角度分析tcpdump原理(2)

2022-10-20T19:35:27.554920+00:00

Linux 在安裝和卸載過濾器時都使用了函數 setsockopt,其中標誌SOL_SOCKET 代表了對 socket 進行設置,而 SO_ATTACH_FILTER 和 SO_DETACH_FILTER 則分別對應了安裝和卸載。

Linus Torvalds已經決定將Rust程式語言加入Linux內核

2022-09-21T20:56:52.767763+00:00

Torvalds已經決定,Rust將很快成為Linux的一部分。這種內存安全的程式語言將加入C語言和其他傳統語言,以創建無處不在的開源內核的新部件和驅動程序。圍繞將Rust納入Linux的辯論似乎已經結束。

LPC 2022:Linux內核實時補丁在數百萬台Meta伺服器上運行良好

2022-09-19T03:38:27.216675+00:00

在本周的 LPC 2022 大會上,Meta / Facebook 披露旗下的數百萬台伺服器,已轉向使用 Red Hat 的 Kpatch 內核實時補丁(KLP)解決方案。同時 Meta 工程師分享了他們在這項實時補丁基礎設施上取得的成功,以及在此過程中遇到的麻煩。

一篇讀懂Linux內核-內核地址空間分布和進程地址空間

2022-09-17T07:02:35.487474+00:00

動態內存映射區:該區域由內核函數vmalloc來分配,特點是:線性空間連續,但是對應的物理空間不一定連續。

Linux內核進程創建do_fork()解析(一文解決~)

2022-09-06T18:40:19.496498+00:00

內核創建進行所進行的工作,本文閱讀的內核代碼為Linux kernel 2.6。進程創建的大部分工作由do_fork這個函數完成,函數原型如下:1、首先進行一些參數及權限的檢查。

深入Linux內核IO技術棧

2022-08-05T22:12:43.294775+00:00

受限於個人水平和眼界限制,文章內容若您有不同的見解,希望我們可以一起討論交流。《Linux系統調用那些事》系列所有文章均以 署名-非商業性使用-禁止演繹 3.0 協議發布,在不違反發布協議的前提下允許自由分發,無需知會作者。

一篇教你Linux內核性能剖析的方法學和主要工具(上文)

2022-07-16T02:05:01.431949+00:00

計算機科學的先驅Donald Knuth(高德納)曾經說過:「過早的優化是萬惡之源」,更詳細的原文如下:「We should forget about small efficiencies, say about 97% of the time: premature optimiz

一個補丁疊代了16個版本後被撤,我的 Linux內核之旅

2022-07-15T18:24:20.717097+00:00

【CSDN 編者按】一個好的開源項目,能夠成長為一個全球性的開源項目,肯定有它的獨特魅力所在。

學習Linux內核,讓你從月薪5千漲幅到年薪50萬

2022-07-10T18:49:48.203955+00:00

前言:作為一個程式設計師,隨著工作年限的不斷增長,感覺自己的技術水平與自己的工作年限嚴重不符。想跳槽出去換個新環境吧,又感覺自己的能力達不到心儀公司的標準,即使投了簡歷也沒人來通知自己面試。就這樣在原來的公司一天天的混日子,時間久了,感覺自己廢了,就這麼惡性循環著。如何破局?

Linus終於被勸動:用了30年的Linux內核C語言將升級

2022-07-05T14:53:27.429261+00:00

根據 Linux 內核郵件列表的消息,社區近日討論了是否要為內核採用現代 C 語言標準。雖然 Linux 內核在快速發展,但它同時依賴著一些非常古老的工具,其中之一就是內核代碼仍在使用 1989 年版本的 C 語言標準——此標準在 30 多年前內核項目啟動之前就已經編寫完成。

Linux內核將引入Rust,Linus:以防此事搞砸我又發脾氣,先道個歉

2022-07-04T07:33:01.390608+00:00

不過,53歲的Linus在和老朋友Cardano基金會的首席開源官進行的一番暢談中卻表示,自己仍然充滿了幹勁。

「技術乾貨」一文搞懂怎麼使用Linux內核模塊

2022-06-18T10:40:03.094051+00:00

概述嵌入式設備驅動開發中將驅動程序以模塊的形式發布,更是極大地提高了設備使用的靈活性——用戶只需要拿到相關驅動模塊,再插入到用戶的內核中,即可靈活地使用你的設備。

「技術乾貨」一文搞懂Linux內核initrd技術

2022-06-18T10:22:13.894113+00:00

Linux 的 initrd 技術是一個非常普遍使用的機制,linux2.6 內核的 initrd 文件格式由原來的文件系統鏡像文件轉變成了 cpio 格式,變化不僅反映在文件格式上, linux 內核對這兩種格式的 initrd 的處理有著截然的不同。

「技術乾貨」淺談Linux內核通知鏈機制的原理及實現

2022-06-18T09:38:08.467372+00:00

概念大多數內核子系統都是相互獨立的,因此某個子系統可能對其它子系統產生的事件感興趣。為了滿足這個需求,也即是讓某個子系統在發生某個事件時通知其它的子系統,Linux內核提供了通知鏈的機制。通知鍊表只能夠在內核的子系統之間使用,而不能夠在內核與用戶空間之間進行事件的通知。

淺談Linux內核oom機制原理

2022-06-18T09:38:01.953181+00:00

典型的情況是:某天一台機器突然ssh遠程登錄不了,但能ping通,說明不是網絡的故障,原因是sshd進程被OOM killer殺掉了。

「技術乾貨」一文搞懂Linux內核調試方法(一)

2022-06-18T09:18:02.716767+00:00

這個標誌是有必要注意的,一個重要的原因就是:當前版本的 GDB 不能在一個 32 位系統上打開一個使用 ELF64 格式的 vmcore 文件。

「技術乾貨」一文搞懂Linux內核調試方法(二)

2022-06-18T09:14:02.791622+00:00

上篇回顧:一文Linux內核調試方法(一)KGDBkgdb提供了一種使用 gdb調試 Linux 內核的機制。使用KGDB可以象調試普通的應用程式那樣,在內核中進行設置斷點、檢查變量值、單步跟蹤程序運行等操作。

手把手教你編譯Linux內核,自己寫一個內核程序

2022-06-18T08:48:19.921609+00:00

準備工作a) 首先,你要有一台PC(這不廢話麼^_^),裝好了Linux。b) 安裝好GCC(這個指的是host gcc,用於編譯生成運行於pc機程序的)、make、ncurses等工具。c) 下載一份純淨的Linux內核源碼包,並解壓好。

嵌入式Linux內核的驅動程序開發是怎樣的

2022-06-18T08:46:12.440431+00:00

Linux設備驅動程序在Linux內核原始碼中占有很大比例,從2.0、2.2到 2.4版本的內核,原始碼的長度日益增加,其實主要是設備驅動程序在增加。

Linux內核:一文搞懂外設I/O內存資源的靜態映射方式

2022-06-17T11:27:29.365192+00:00

Linux內核訪問外設I/O內存資源的方式有兩種:動態映射(ioremap)和靜態映射(map_desc)。動態映射(ioremap)方式動態映射方式是大家使用了比較多的,也比較簡單。