※ 이 글은 chatGPT를 기반으로 작성한 글입니다.
① 시스템 호출(System call)은 운영 체제(operating system) 제공하는 프로그래밍 인터페이스이다.
㉠ 사용자 수준의 프로세스가 운영 체제의 핵심 구성 요소인 커널(kernal)로부터 서비스를 요청할 수 있도록 한다.
㉡시스템 호출은 다음 상황에서 필요하다.
ⓐ 시스템 호출은 모든 프로그래밍 컴퓨터 시스템의 하드웨어 및 기타 리소스와 상호작용하는 데 필요하다..
ⓑ 시스템 호출은 파일, 프로세스 및 메모리와 같은 리소스에 액세스에 사용된다.
ⓒ 프로그램이 권한 있는 작업을 수행해야 할 때 시스템 호출을 발생한다.
ⓓ 시스템 호출은 프로그램을 사용자 모드에서 커널 모드로 전환하여 필요한 리소스에 접근할 수 있게 해준다.
② 시스템 호출이 완료되면 작업 권한이 프로그램에 반환된다.
③ 일반적인 시스템 호출의 예는 다음과 같다.
㉠ open() : 파일을 열 수 있다.
㉡ read() : 파일의 데이터를 읽을 수 있다.
㉢ write() : 파일의 데이터를 쓸 수 있다.
㉣ close() : 파일을 닫을 수 있다.
㉤ fork() : 새로운 프로세스를 만들 수 있다.
㉥ exec() : 현재 프로세스를 새로운 프로세스로 바꿀 수 있다.
시스템 호출은 일반적으로 운영 체제에 의해 유닉스 계열 시스템의 C 라이브러리와 같은 라이브러리로 제공되며 표준 함수 호출을 통해 응용프로그램에 의해 액세스될 수 있다.
'All about Programming Theories' 카테고리의 다른 글
1. Linux - 오픈 소스 운영 체제란 (0) | 2023.03.02 |
---|---|
리눅스 - 파일 권한 변경 chmod (0) | 2023.03.01 |
리눅스 - 계층 구조(Hierarchy Structure) (0) | 2023.02.26 |
리눅스 - 파일의 타입 (0) | 2023.02.26 |
리눅스 - 문자 장치(Character device)와 블록 장치(Block device) (0) | 2023.02.26 |