OS-3) 운영체제 연산

topics 700-컴퓨터과학 704 운영체제
types 학습 이론
tags #os #system-call #dual-mode

운영체제 연산

운영체제의 이중 모드와 시스템 콜을 정리한다.

관련 문서


==운영체제 운영 모드==

이중 모드(Dual Mode) 연산 시스템

  • 사용자 모드 (User mode), 커널 모드 (Kernel mode)
  • Mode bit (하드웨어 제공): 모드를 구분할 수 있게 만듦

사용자 모드, 커널 모드 전이

스크린샷 2024-04-14 오후 4.20.09.png
  • Trap: 시스템콜이 커널 모드로 진입하기 위해 소프트웨어 인터럽트 발생
  • 커널 모드 진입하고 방출할 때 모드 비트를 다 바꾼다

==시스템 콜==

  • OS가 제공하는 서비스를 사용할 수 있게 하는 프로그래밍 인터페이스
  • 일반적으로 고수준 API를 이용하여 액세스
  • 일반적으로 각 시스템콜에는 번호가 매겨져 있음
    • 시스템 콜 인터페이스에서 번호를 이용하여 호출
  • 호출자는 시스템 콜 구현에 대해 알 필요 없다
    • 인터페이스 상세사항은 API에 의해 프로그램에 숨겨짐

매개변수 전달 방법

  1. 레지스터에 매개변수 저장하여 전달
  2. 메모리 블록 or 테이블에 실제 매개변수 저장, 레지스터에 해당 주소 저장하여 매개변수로 전달
    • 매개변수 개수/길이 제한 X
  3. 스택에 의해 전달
    • 프로그램은 스택에 push하여 전달
    • 운영체제는 pop하여 얻음
    • 매개변수 개수/길이 제한 X

종류

프로세스 제어

  • 생성, 종료, 중지, 실행, 대기
  • 할당, 반환
  • 속성 가져오기, 세팅하기
  • 오류 시 메모리 덤프
    • 버그 찾기 위한 디버거, 싱글 스텝 실행
  • 프로세스가 공유하는 데이터 접근을 막기 위한 락

파일 관리

  • 생성, 삭제
  • 열기, 닫기
  • 읽기, 쓰기, 접근 위치 재조정
  • 속성 가져오기, 세팅하기

장치 관리

  • 장치 요청/해제
  • 논리적으로 부착/분리
  • 읽기, 쓰기, 접근 위치 재조정
  • 속성 가져오기, 세팅하기

정보 유지 관리

  • 현재 시간/날짜, 시스템 날짜 얻기, 세팅하기
  • 프로세스, 파일, 장치 속성 얻기, 세팅하기

통신

  • 통신 연결 생성/삭제
  • 메세지 전달 모델 사용 시, 호스트이름 or 프로세스 명시하여 메세지 송수신 (클라 to 서버)
  • 공유 메모리 모델 사용 시, 메모리 영역 생성 및 접근 권한 획득
  • 상태 정보 전송
  • 원격 장치 부착/탈착

보호

  • 자원 접근 제어
  • 권한 획득 및 설정
  • 사용자 접근 허용/거부