[운영체제] 시스템 구조(System Structures)

유니야·2023년 1월 3일

운영체제(OS)

목록 보기
2/5

✏️ System Call

커널과 사용자 프로그램을 이어주는 인터페이스 역할. 사용자 프로그램이 디스크에 있는 파일을 열려면 파일 시스템에 접근해야하는데, 이를 위해서는 커널 모드로 전환되어야 한다. 이 때 시스템 콜을 사용한다.
실제로는 프로그램 이식성(Portability)과 사용의 편리함 때문에 직접적인 시스템 콜보다는 API(Application Program Interface)를 통해 사용된다.

  • 시스템 콜 인터페이스(System Call Interface)
    시스템 콜 인터페이스는 OS 커널에서 의도된 시스템 콜을 발생시키고, 시스템 콜의 상태나 기타 값들을 반환한다.
    각각의 시스템 콜은 숫자로 구분되고, 시스템 콜 인터페이스는 이 숫자에 따라 매핑된 테이블을 유지한다.

  • 시스템 콜 테이블(System Call Table)
    인터럽트 서비스 루틴을 가리키는 메모리 주소의 모음.

💻 OS에 변수(Parameter)를 넘겨주는 방식

  1. Call by Value
    레지스터에 바로 변수를 넘겨주는 방식
  2. Call by reference
    변수가 레지스터보다 더 많은 경우, 블록이나 테이블에 저장한 후 저장된 주소를 레지스터에 변수로 넘겨주는 방식
  3. 스택에 변수를 저장

💻 시스템 콜의 종류

  • 프로세스 제어 (Process Control)
  • 파일 관리 (File Management)
  • 장치 관리 (Device Managememnt)
  • 정보 유지 (Information Maintenance)
  • 의사소통 (Communications)
  • 보호 (Protection

✏️ 운영체제가 사용자에게 제공하는 기능

1. User Interface(UI)
UI는 사용자와 컴퓨터 시스템이 만나는 지점을 말한다. 인터페이스는 크게 세 가지가 있다.

  • CLI(Command-Line Interface)
    사용자가 텍스트 명령을 통해 명령을 내리는 인터페이스
  • GUI(Graphic User Interface)
    키보드 타이핑, 마우스 클릭 등의 방법으로 화면에 띄워진 그래픽을 조작해 컴퓨터에게 명령을 내린다
  • Batch
    명령을 파일에 넣어두고 파일이 실행되면서 명령을 실행하는 인터페이스

2. Program Execution
프로그램의 실행 종료

3. I/O Operations
실행 중인 프로그램이나 파일이 I/O 장치를 사용할 때 운영체제가 수행하는 입출력 명령은 운영체제를 거쳐서 실행된다.

4. File-system manipulation
파일을 읽고 쓰고, 생성하고 삭제한다.

5. Communications
프로세스들이 서로 정보 교환할 때, 운영체제는 공유 메모리(Shared Memory)나 메시지 패싱(Message Passing, packets moved by the OS)이라는 방법을 사용한다.

6. Error Detection
에러 탐지

0개의 댓글