더북(TheBook)

7.2.2 시스템 호출

운영체제는 시스템을 운영하는 중요한 기능을 수행합니다. 만약 잘못 접근하면 시스템 전체가 불안정해지거나 손상될 수 있습니다. 그래서 운영체제는 커널의 중요한 기능을 보호하기 위해 시스템 호출을 사용합니다.

 

시스템 호출이란

시스템 호출(system call)은 응용 프로그램이 운영체제의 기능을 요청할 때 사용하는 인터페이스입니다. 운영체제는 응용 프로그램이 커널 기능(파일 시스템, 네트워크, 메모리 할당 등)에 직접 접근할 수 없도록 제한하고 시스템 호출을 통해서만 접근하도록 합니다. 운영체제는 사용자의 요청을 확인하고, 허용된 작업만 수행하도록 합니다. 사용자가 하드웨어와 직접 소통하는 것은 매우 복잡하고 어렵습니다. 이런 복잡한 하드웨어 제어 역시 운영체제가 대신 수행하도록 시스템 호출을 제공합니다. 따라서 응용 프로그램이 하드웨어 자원에 접근하려면 반드시 시스템 호출을 사용해야 합니다.

예를 들어, 파일을 열 때 디스크의 특정 섹터를 읽기 위해 직접 명령을 입력할 필요 없이 open() 시스템 호출을 사용합니다. 또한, 메모리를 할당할 때 메모리에 직접 접근하지 않고 malloc()을 사용해 메모리를 요청합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.