cleanUrl: /os/what-is-system-call/

매우 간단한 프로그램 이라도 운영체제의 기능을 많이 사용한다. system call 은 그러한 운영체제의 기능을 제공하는 것이며 개발자는 이 기능을 쉽게 사용하기 위해 제공되는 API 를 통해서 system call 을 효율적으로 사용한다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8a7db625-373d-41d1-90d8-715df19f5a87/Screen_Shot_2020-07-05_at_23.00.56.png

특정 저수준 작업(하드웨어 접근)은 어셈블리 명령을 사용하여 작성되어야 하더라도 호출은 C, C++ 언어로 작성된 함수 형태로 제공된다.

Example

어떻게 사용되는지를 먼저 다룬다.

cp in.txt out.txt

위의 명령을 예시로 한다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f5b3a2fa-de18-402e-ab4c-e25cf8786854/Screen_Shot_2020-07-05_at_23.06.10.png

  1. 화면에 prompt 메세지를 작성한다.
  2. 키보드에서 두 파일의 이름을 읽는다.
  3. UI 에서 파일 이름 메뉴가 창에 표시된다.
  4. 마우스를 사용해 대상 이름을 지정한다.
  5. 파일이 열린다
  6. 안에 들어가 문자열을 한줄 한줄 text가 없을 때까지 읽으며(until read fails) 대상 파일(output)에 쓴다
  7. output file 을 닫는다
  8. 쓰는 작업이 완료되었음을 UI에 알린다.