成人深夜视频网站|日韩高清无码久久|中文a√在线天堂|亚洲黄网站在线看|欧美视频 第二页|日本 久草 天堂|高潮无遮挡黄视频|久久一级内射精品|国产操逼一级视频|五月天婷婷色AV

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

按下鍵盤時(shí)計(jì)算機(jī)系統(tǒng)中發(fā)生了什么?

0
分享至

今天的話題是當(dāng)我們按下鍵盤時(shí)計(jì)算機(jī)系統(tǒng)中發(fā)生了什么,實(shí)際上,要是真寫起來,這個(gè)問題大概能寫成一本書,這里將會(huì)從宏觀上來了解一下從按下按鍵到輸出至屏幕的整個(gè)過程。

鍵盤大家都很熟悉了,一般長(zhǎng)這樣:


不好意思放錯(cuò)了,一般長(zhǎng)這樣:


然而它的內(nèi)部其實(shí)是這樣類似于矩陣的電路:


每個(gè)按鍵其實(shí)是一個(gè)開關(guān),當(dāng)我們按下按鍵時(shí)電路閉合,抬起按鍵時(shí)電路斷開,這樣當(dāng)我們按鍵時(shí)鍵盤中的微型處理器就能感知到,此時(shí)萬里長(zhǎng)征第一步開始了,以下假設(shè)我們使用的是usb鍵盤。

鍵盤中的硬件檢測(cè)到的被稱為keycode,存放在鍵盤里中的存儲(chǔ)器中,這個(gè)存儲(chǔ)設(shè)備被稱為endpoint,usb控制器不斷poll該endpoint從而獲取到keycode。


usb控制器獲取到數(shù)據(jù)后開始向CPU發(fā)起中斷:


此時(shí)你的CPU在干嘛呢?此時(shí)系統(tǒng)中有很多進(jìn)程,像word以及其它聊天軟件之類,假設(shè)你正在使用word,因此CPU正在執(zhí)行word進(jìn)程相應(yīng)的機(jī)器指令:


CPU檢測(cè)到中斷產(chǎn)生后丟下word進(jìn)程(暫停)并轉(zhuǎn)到kernel mode,此時(shí)CPU發(fā)現(xiàn)是usb產(chǎn)生的中斷,因此找到usb中斷處理函數(shù),該中斷函數(shù)中開處理按鍵數(shù)據(jù):


由于USB有一套通信 協(xié)議,像HID(Human Interface Device)協(xié)議等,所以這里的按鍵就像網(wǎng)絡(luò)數(shù)據(jù)包一樣被封裝成了usb數(shù)據(jù)在協(xié)議棧中一層層向上傳遞,邊傳遞邊處理。


底層的USB層解析后發(fā)現(xiàn)是HID數(shù)據(jù),然后將其交給HID層處理,HID處理后數(shù)據(jù)處理后交給輸入層,輸入層解析后keycode發(fā)現(xiàn)按下的是字符“M”,然后將其記錄在設(shè)備文件(device file)中,在類Unix系統(tǒng)中就是/dev/input/event**,此時(shí)數(shù)據(jù)正式從硬件來到的了計(jì)算機(jī)系統(tǒng)中:


既然鍵盤數(shù)據(jù)一路跋山涉水從硬件來到了內(nèi)核態(tài),那么接下來就是用戶態(tài)的表演。

我們?cè)谄聊簧峡吹降囊粋€(gè)個(gè)窗體,window,實(shí)際上這些窗體是由窗體管理器(window manager)管理的,窗口管理器清楚的知道這些window的層級(jí)、位置、大小以及是否獲取了焦點(diǎn)(focus)。

還是以Unix為例,在Unix系統(tǒng)中,窗體管理器叫做 X window manager,其運(yùn)行在X Window System,該系統(tǒng)由X server以及X client組成,我們的圖形界面應(yīng)用程序就是x client,其接受來自X server的鍵盤鼠標(biāo)等消息:


X server又是從哪里獲取鍵盤鼠標(biāo)等消息呢?答案就是我們剛才提到的設(shè)備文件/dev/input/event**,通過讀取該文件X server就能知道鍵盤被按下以及被按下的是哪個(gè)按鍵。

接下來X server將該消息發(fā)送到獲取焦點(diǎn)的窗體,此時(shí)我們的窗體APP檢測(cè)鍵盤按鍵的代碼開始執(zhí)行,如果是窗體App是賽車游戲程序并且檢測(cè)到了向上的箭頭按鍵,那么就需要對(duì)車進(jìn)行加速,這需要對(duì)游戲畫面進(jìn)行重繪、如果窗體App是文本編輯器則需要將按下的字符顯示出來。

在這里以文本編輯器word為例,當(dāng)word檢測(cè)到用戶按下的是字符M時(shí),word需要知道該以什么字體顯示該字符、字體大小是多少、顏色是什么等等。


現(xiàn)在word知道了關(guān)于該字符的足夠信息,接下來需要請(qǐng)求X Window System將其在屏幕上顯示出來,怎么顯示呢?

原來內(nèi)存中有一塊被稱為framebuffer的區(qū)域,GPU從這里獲取數(shù)據(jù)并將其在屏幕上渲染出來,我們需要做的就是將字符包含的所有信息添加到frame buffer中,這樣下一次顯卡刷新時(shí)你按下的字符就能在屏幕上顯示出來了。


怎么樣,看似簡(jiǎn)單的按下鍵盤到屏幕顯示字符著實(shí)不簡(jiǎn)單,這里涉及軟硬件的密切配合,毫不夸張的說,你每次按下鍵盤后計(jì)算機(jī)系統(tǒng)中可能需要成千上萬行代碼的執(zhí)行才能把按鍵最終顯示在屏幕上,是不是很有趣!


好啦,今天的文章就到這里,希望這篇對(duì)大家理解計(jì)算機(jī)系統(tǒng)有所幫助~

來源:碼農(nóng)的荒島求生

編輯:小咕咕

轉(zhuǎn)載內(nèi)容僅代表作者觀點(diǎn)

不代表中科院物理所立場(chǎng)

如需轉(zhuǎn)載請(qǐng)聯(lián)系原公眾號(hào)

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
賈玲新片殺青遭抵制,全網(wǎng)質(zhì)疑“故技重施”,這次準(zhǔn)備撈幾個(gè)億?

賈玲新片殺青遭抵制,全網(wǎng)質(zhì)疑“故技重施”,這次準(zhǔn)備撈幾個(gè)億?

代軍哥哥談娛樂
2025-08-29 15:16:14
99年我借住同學(xué)家,和他姐姐的一段往事,至今不敢和任何人說

99年我借住同學(xué)家,和他姐姐的一段往事,至今不敢和任何人說

農(nóng)村情感故事
2025-07-28 07:05:12
山東師生性丑聞:男女合照流出,17歲女生積極主動(dòng),學(xué)校連夜回應(yīng)

山東師生性丑聞:男女合照流出,17歲女生積極主動(dòng),學(xué)校連夜回應(yīng)

博士觀察
2025-08-30 22:27:26
歷史再次選中了香港,這次關(guān)乎國(guó)運(yùn)!

歷史再次選中了香港,這次關(guān)乎國(guó)運(yùn)!

米筐投資
2025-08-26 07:11:32
朝鮮戰(zhàn)爭(zhēng)期間,美軍原本已接近擊敗中國(guó),卻撞上了中國(guó)決死的師長(zhǎng)

朝鮮戰(zhàn)爭(zhēng)期間,美軍原本已接近擊敗中國(guó),卻撞上了中國(guó)決死的師長(zhǎng)

諾言卿史錄
2025-08-09 08:31:33
投資100億!423米!東莞第一高樓

投資100億!423米!東莞第一高樓

GA環(huán)球建筑
2025-08-31 23:34:17
體檢報(bào)告中,若這3個(gè)指標(biāo)都正常,基本可排除很多疾病

體檢報(bào)告中,若這3個(gè)指標(biāo)都正常,基本可排除很多疾病

犀利辣椒
2025-08-06 07:07:55
舒梅切爾:從未像今天這樣希望利物浦贏球,阿森納太丑陋了

舒梅切爾:從未像今天這樣希望利物浦贏球,阿森納太丑陋了

雷速體育
2025-09-01 02:06:41
堅(jiān)決反對(duì)中國(guó)城市申辦奧運(yùn):國(guó)奧委失算,中國(guó)無需奧運(yùn)證實(shí)力!

堅(jiān)決反對(duì)中國(guó)城市申辦奧運(yùn):國(guó)奧委失算,中國(guó)無需奧運(yùn)證實(shí)力!

一個(gè)有靈魂的作者
2025-08-16 11:16:02
“這是家長(zhǎng)會(huì),不是夜總會(huì)!”寶媽穿特殊褲子參加,被網(wǎng)友怒斥

“這是家長(zhǎng)會(huì),不是夜總會(huì)!”寶媽穿特殊褲子參加,被網(wǎng)友怒斥

熙熙說教
2025-08-22 17:46:53
女兒總說幼兒園老師有魚腥味,直到這天體檢,醫(yī)生:她一肚子魚籽

女兒總說幼兒園老師有魚腥味,直到這天體檢,醫(yī)生:她一肚子魚籽

古怪奇談錄
2025-08-28 15:59:53
澤連斯基登機(jī)赴美,啟程前簽字制裁中國(guó),中方對(duì)烏克蘭反將一軍

澤連斯基登機(jī)赴美,啟程前簽字制裁中國(guó),中方對(duì)烏克蘭反將一軍

boss外傳
2025-09-01 05:00:03
有人問,女人過了50歲,為什么還會(huì)花心?

有人問,女人過了50歲,為什么還會(huì)花心?

加油丁小文
2025-09-01 05:00:03
世錦賽決賽戰(zhàn)報(bào):蔣振邦/魏雅欣0-2爆冷獲得亞軍,大馬再創(chuàng)歷史

世錦賽決賽戰(zhàn)報(bào):蔣振邦/魏雅欣0-2爆冷獲得亞軍,大馬再創(chuàng)歷史

求球不落諦
2025-08-31 20:19:22
辛納美網(wǎng)前曾透露已陷入熱戀,手機(jī)壁紙意外曝光女友身份

辛納美網(wǎng)前曾透露已陷入熱戀,手機(jī)壁紙意外曝光女友身份

雷速體育
2025-08-31 17:35:18
敬老院老太太偷偷溜出去旅游,花了76萬很開心,回到家看到一幕懵了

敬老院老太太偷偷溜出去旅游,花了76萬很開心,回到家看到一幕懵了

風(fēng)聲起伏
2025-08-28 17:52:52
重要賽事報(bào)道!賽事預(yù)告9月01日下午13:00!CCTV5、CCTV5+節(jié)目表

重要賽事報(bào)道!賽事預(yù)告9月01日下午13:00!CCTV5、CCTV5+節(jié)目表

皮皮觀天下
2025-09-01 05:00:42
樊振東爆冷首敗事出有因,對(duì)手多次遮擋假拋,中國(guó)球迷怒斥敗人品

樊振東爆冷首敗事出有因,對(duì)手多次遮擋假拋,中國(guó)球迷怒斥敗人品

隱于山海
2025-08-31 23:21:05
坐灘破船大結(jié)局?中方硬殼艇架上了重機(jī)槍,菲律賓人駕船四處逃竄

坐灘破船大結(jié)局?中方硬殼艇架上了重機(jī)槍,菲律賓人駕船四處逃竄

涼羽亭
2025-08-24 12:04:52
絕處逢生!石字奇三局逆轉(zhuǎn),時(shí)隔7年再次登上世錦賽領(lǐng)獎(jiǎng)臺(tái) !

絕處逢生!石字奇三局逆轉(zhuǎn),時(shí)隔7年再次登上世錦賽領(lǐng)獎(jiǎng)臺(tái) !

楊晨大神
2025-08-31 12:17:55
2025-09-01 05:52:49
中科院物理所 incentive-icons
中科院物理所
愛上物理,改變世界。
9328文章數(shù) 136291關(guān)注度
往期回顧 全部

科技要聞

入手iPhone 16還是等17??jī)煽钍謾C(jī)全面對(duì)比

頭條要聞

車輛占道違停小車逆行超車撞車 險(xiǎn)企欲讓占道車擔(dān)責(zé)

頭條要聞

車輛占道違停小車逆行超車撞車 險(xiǎn)企欲讓占道車擔(dān)責(zé)

體育要聞

破2億身家!莎拉波娃的"勝負(fù)腦"

娛樂要聞

胡歌是永遠(yuǎn)都不會(huì)離婚的,原因很簡(jiǎn)單

財(cái)經(jīng)要聞

罕見熱鬧的8月之后,A股將迎怎樣的9月

汽車要聞

家庭泛越野 大狗PLUS預(yù)售煥新11.28萬起

態(tài)度原創(chuàng)

藝術(shù)
親子
家居
旅游
健康

藝術(shù)要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

親子要聞

孩子不是讀書機(jī)器不是我們家長(zhǎng)盲目炫耀學(xué)習(xí)的“利器”分?jǐn)?shù)不值錢

家居要聞

提升功能 靈活居住環(huán)境

旅游要聞

熱聞|清明假期將至,熱門目的地有哪些?

精神科專家解答學(xué)習(xí)困難七大問題

無障礙瀏覽 進(jìn)入關(guān)懷版