시스템 호출

시스템 호출은 프로그램운영 체제에 보내는 요청입니다. 이를 통해 애플리케이션이 운영 체제의 API에서 제공하는 함수와 명령에 액세스할 수 있습니다.

시스템 호출은 하드웨어 장치와 통신하고 파일을 읽고 쓰는 등의 시스템 수준 작업을 수행합니다. 개발자는 시스템 호출을 사용하여 운영 체제가 지원하는 미리 작성된 함수를 처음부터 직접 작성하지 않고 사용할 수 있습니다. 이렇게 하면 개발이 간단해지고 앱의 안정성이 향상되며, 서로 다른 운영 체제(OS) 버전 간에 앱을 더 쉽게 "이식"할 수 있습니다.

시스템 호출의 작동 방식

애플리케이션은 사용자 공간이라고 하는 메모리 영역에서 실행됩니다. 시스템 호출은 커널 공간에서 실행되는 운영 체제의 커널에 액세스합니다. 애플리케이션이 시스템 호출을 수행하면 먼저 커널에 권한을 요청해야 합니다. 이 작업은 현재 프로세스를 일시 중지하고 제어권을 커널로 넘기는 인터럽트 요청으로 수행할 수 있습니다.

요청이 허용되면 커널은 파일을 만들거나 삭제하는 등의 요청을 처리합니다. 작업이 완료되면 커널은 출력을 애플리케이션으로 전달하고, 애플리케이션은 메모리에서 커널 공간의 데이터를 사용자 공간으로 전송합니다. 애플리케이션은 커널의 출력을 입력으로 받습니다. 프로그램의 소스 코드에서는 이것이 매개변수 값이거나 함수 내의 반환 값일 수 있습니다. 입력을 받으면 애플리케이션은 프로세스를 다시 시작합니다.

시스템 날짜와 시간을 가져오는 것과 같은 기본적인 시스템 호출은 몇 나노초가 걸릴 수 있습니다. 네트워크 장치와 통신을 설정하는 것과 같은 더 고급 시스템 호출은 몇 초가 걸릴 수 있습니다. 병목 현상을 방지하기 위해 대부분의 운영 체제는 각 시스템 호출에 대해 별도의 커널 스레드를 시작합니다. 최신 운영 체제는 멀티스레드 방식으로 작동하므로 여러 시스템 호출을 동시에 처리할 수 있습니다.

업데이트됨 April 27, 2019 작성: Per C.

quiz지식 테스트하기

What allows applications compiled for one operating system to run on a different one?

A
Compatibility layer
0%
B
Virtual layer
0%
C
Portable layer
0%
D
Transitive layer
0%
Correct! Incorrect!     View the Compatibility Layer definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 시스템 호출에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.