-
시스템 호출운영체제/시스템 구조 2018. 2. 3. 12:30
시스템 호출은 운영체제에 의해 사용 가능하게 된 서비스에 대한 인터페이스를 제공한다.
이러한 호출은 일반적으로 C나 C++ 언어로 작성된 루틴 형태로 제공한다.
프로그램은 직접 시스템 호출을 사용하기 보다는 API를 거쳐서 접근한다.
시스템 호출의 구현
통상 각 시스템 호출에는 번호가 할당되고 API는 번호에 따라 인덱스 되는 테이블을 관리한다.
API는 의도하는 시스템 호출을 부르고 상태와 반환 값을 돌려준다.
호출자는 시스템 호출이 어떻게 구현되고 실행 중에 무슨 작업을 하는지 알 필요가 없이
API를 준수하고 시스템 호출의 결과로 운영체제가 무엇을 해 줄 것 인지만 이해하면 된다.
운영체제 인터페이스에 대한 대부분의 자세한 내용은 API에 의해 프로그래머로부터 숨겨지고
실행시간 지원 라이브러리에 의해 관리된다.
응용 프로그래머가 사용 가능한 가장 흔한 API
Window 시스템을 위한 WIN32 API
POSIX 기반 시스템을 위한 POSIX API
JAVA 가상 기계에서 수행 될 수 있는 프로그램을 위한 Java API
Unix, Linux 시스템에서 C언어로 작성된 라이브러리 libc
시스템 호출 시 매개 변수의 전달 방법
매개 변수를 레지스터 내에 전달
메모리 내의 블록이나 테이블에 저장되고 블록의 주소가 레지스터 전달된다.
프로그램에 의해 스택에 넣어지고 운영체제에 의해 꺼내진다.
'운영체제 > 시스템 구조' 카테고리의 다른 글
시스템 프로그램 (0) 2018.02.03 시스템 호출의 유형 (0) 2018.02.03 사용자 운영체제 인터페이스 (0) 2018.02.03 운영체제 서비스 (0) 2018.02.03 시스템 구조 (0) 2018.02.03 댓글