본문으로 이동
  • 현재 모든 문서는 작성 중입니다. 보시는 데 불편함이 있더라도 양해 부탁드립니다.

운영체제 기본/x86-64 Linux의 i8042 키보드 입력: 두 판 사이의 차이

~ldmsys
통합한 장치 제어와 입출력 문서의 대응 절로 IRQ 링크 갱신
BIOS 부팅·i8042 키보드 각론의 새 문서명으로 내부 링크 갱신
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
4번째 줄: 4번째 줄:


== 읽는 순서 ==
== 읽는 순서 ==
# [[운영체제 기본/Linux의 키보드 입력/IRQ 진입과 디스패치|IRQ 진입과 디스패치]]: CPU가 인터럽트를 받아 등록된 장치 처리기를 실행하는 과정.
# [[운영체제 기본/x86-64 Linux의 i8042 키보드 입력/IRQ 진입과 디스패치|IRQ 진입과 디스패치]]: CPU가 인터럽트를 받아 등록된 장치 처리기를 실행하는 과정.
# [[운영체제 기본/Linux의 키보드 입력/i8042와 입력 이벤트|i8042와 입력 이벤트]]: 수신 바이트가 스캔 코드와 Linux 키 이벤트로 바뀌는 과정.
# [[운영체제 기본/x86-64 Linux의 i8042 키보드 입력/i8042와 입력 이벤트|i8042와 입력 이벤트]]: 수신 바이트가 스캔 코드와 Linux 키 이벤트로 바뀌는 과정.
# [[운영체제 기본/Linux의 키보드 입력/evdev와 프로세스 깨우기|evdev와 프로세스 깨우기]]: 이벤트를 버퍼에 넣고 대기 중인 read를 깨우는 과정.
# [[운영체제 기본/x86-64 Linux의 i8042 키보드 입력/evdev와 프로세스 깨우기|evdev와 프로세스 깨우기]]: 이벤트를 버퍼에 넣고 대기 중인 read를 깨우는 과정.
# [[운영체제 기본/Linux의 키보드 입력/콘솔과 터미널 입력|콘솔과 터미널 입력]]: 가상 콘솔에서 키 이벤트가 문자와 터미널 입력으로 바뀌는 경로.
# [[운영체제 기본/x86-64 Linux의 i8042 키보드 입력/콘솔과 터미널 입력|콘솔과 터미널 입력]]: 가상 콘솔에서 키 이벤트가 문자와 터미널 입력으로 바뀌는 경로.


evdev와 가상 콘솔은 input 계층 이후의 서로 다른 전달 경로다. evdev에서 읽은 이벤트가 차례로 콘솔을 거치는 구조는 아니다.
evdev와 가상 콘솔은 input 계층 이후의 서로 다른 전달 경로다. evdev에서 읽은 이벤트가 차례로 콘솔을 거치는 구조는 아니다.

2026년 10월 31일 (토) 09:03 기준 최신판

운영체제 기본 목차 · 관련 총론: 인터럽트

Linux v6.12, x86-64, i8042에 연결된 PS/2 키보드를 기준으로 키 입력이 사용자 프로세스에 도착하는 경로를 추적한다. IRQ 진입은 일반적인 IDT 경로를 다루며, USB 키보드와 FRED 진입 경로는 구분한다.

읽는 순서

  1. IRQ 진입과 디스패치: CPU가 인터럽트를 받아 등록된 장치 처리기를 실행하는 과정.
  2. i8042와 입력 이벤트: 수신 바이트가 스캔 코드와 Linux 키 이벤트로 바뀌는 과정.
  3. evdev와 프로세스 깨우기: 이벤트를 버퍼에 넣고 대기 중인 read를 깨우는 과정.
  4. 콘솔과 터미널 입력: 가상 콘솔에서 키 이벤트가 문자와 터미널 입력으로 바뀌는 경로.

evdev와 가상 콘솔은 input 계층 이후의 서로 다른 전달 경로다. evdev에서 읽은 이벤트가 차례로 콘솔을 거치는 구조는 아니다.

i8042 → IRQ 처리 → serio/PS2 → atkbd → input 계층
                                      |
                                      +→ evdev → 입력 이벤트를 읽는 프로세스
                                      |
                                      +→ 콘솔 키보드 처리 → tty → 문자를 읽는 프로세스

키보드가 보낸 스캔 코드, Linux 키 코드, 문자 데이터는 서로 다르다. 또한 입력 도착, 대기 중인 작업의 깨우기, 스케줄러의 선택, 사용자 버퍼로의 복사는 각각 다른 단계다.