시스템 콜 (2) 썸네일형 리스트형 [리눅스커널] 시스템 콜의 특징 시스템 콜의 특징 이번 절에서는 시스템 콜의 특징을 알아보겠습니다. 앞서 알아봤듯이 시스템 콜은 유저 모드에서 커널 모드로 진입하는 관문입니다. 소프트웨어 구조 관점에서 보면 시스템 콜은 유저 공간과 커널 공간 사이의 가상 계층으로 볼 수도 있습니다. 이 계층은 다음과 같은 특징이 있습니다. 1. 시스템 콜 계층으로 시스템 안정성과 보안을 지킬 수 있습니다. 유저 모드에서 애플리케이션이 커널 공간에 아무런 제약 없이 접근한다고 가정해 봅시다. 실수로 애플리케이션이 커널 코드 영역의 메모리를 오염시키면 시스템이 오동작할 가능성이 높습니다. 그래서 유저 모드에서 시스템 콜로만 커널 모드에 진입해서 제한된 메모리 공간에 접근하는 것입니다. 2. 유저 애플리케이션에서 추상화된 하드웨어 인터페이스를 제공합니다. .. [리눅스커널] 시스템 콜의 전체 흐름과 계층 이전 절에서 시스템 콜을 구성하는 주요 개념을 알아봤습니다. 이번에는 시야를 넓혀 전체 리눅스 시스템에서의 시스템 콜 실행 흐름을 살펴보겠습니다. 시스템 콜의 전체 흐름 파악하기 다음 그림은 이번 장에서 다룰 시스템 콜의 전체 흐름입니다. 그림 11.2 시스템 콜의 전체 흐름 먼저 위 그림에서 유저 공간이라고 표시된 부분을 눈으로 따라가 봅시다. open(), write(),read() 함수는 파일을 열거나 읽고 쓰는 파일 입출력 동작이고, fork()와 exit() 함수는 프로세스 생성 및 종료와 연관된 동작을 실행합니다. 이를 리눅스 저수준 함수라고 부릅니다. 다른 관점에서 GNU C 라이브러리로 진입하는 함수이며, API(Application Programming Interface)라고도 합니다. ..