유닉스 시스템에선 모든 것이 파일이다. 장치도 파일로 취급된다. /dev/had1 같은 하드디스크 상의 파일도 존재한다. 이렇게 장치도 파일로 인식을 하면, 파일을 다루는 것처럼 장치에 접근할 수 있다. 당연히 파일의 종류도 나뉘어 있다. 예를 들어 d가 디렉토리, c가 장치인 것처럼 말이다. 파일을 다루기 위한 기본적인 흐름은 아래와 같다. 1) 파일을 연다. 2) 파일을 읽거나 쓴다. 3) 파일을 닫는다. 기본적으로 프로세스는 유저 모드에서 직접적으로 시스템에 접근할 수 없다. 때문에 시스템 콜을 통해서 운영체제에게 자원을 요청한다. 키보드 입력이나 메모리 공간을 요청하는 것들은 모두 자원을 요청하는 것의 예시이다. 그리고 이런 작업들은 커널 모드에서 이루어지게 된다. 아래 사진을 보면 커널이 프로세..