1월 29, 2022의 게시물 표시

What is System call?

이미지
이번 글에서는 System Call 과 I/O 에 대한 기본적인 개념을 정리하려고 한다. System Call? 프로그램이 실행되는 OS 의 커널에게 요청하는 프로그래밍 방식이라고 정의할 수 있다. 하드 디스크 드라이브 또는 카메라 등 하드웨어와 관련된 요청일 수 도 있고, 새로운 프로세스를 생성하거나 실행에 대한 요청일 수 도 있고, 프로세스 스케쥴링과 같은 요청일 수 있다. 즉, 프로세스가 해당 OS 의 커널 서비스를 사용하는 것을 시스템 콜이라고 한다. System call 의 종류는 어떤것이 있을까? 크게 6가지로 정리할 수 있다. 1. Process Control     - create process     - terminate process     - load, execute     - get/set process attributes     - wait for time, wait event, signal event     - allocate and free memory     Java 를 기준으로 간단한  예시를 작성해보았다. ProcessBuilder 를 통해서 ls shell command 를 새로운 process 를 생성하여 실행하고 main process id 와 새로 생성한 process id 를 출력하고 process 를 종료하는 코드이다. 이과정에서        이외에도 현재 살아있는 모든 process 에 대한 정보를 비동기로 가져와서 출력한다. 2. File management     - create file, delete file     - open, close     - read, write, reposition     - get/set file attributes Java 통해서 간...