OS-3) 운영체제 연산
| topics | 700-컴퓨터과학 704 운영체제 |
| types | 학습 이론 |
| tags | #os #system-call #dual-mode |
운영체제 연산
운영체제의 이중 모드와 시스템 콜을 정리한다.
관련 문서
- OS-2) 운영체제 기본과 구조-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EA%B8%B0%EB%B3%B8%EA%B3%BC-%EA%B5%AC%EC%A1%B0.html) - 이전 장
- OS-4) 운영체제 자원 관리-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EC%9E%90%EC%9B%90-%EA%B4%80%EB%A6%AC.html) - 다음 장
==운영체제 운영 모드==
이중 모드(Dual Mode) 연산 시스템
- 사용자 모드 (User mode), 커널 모드 (Kernel mode)
- Mode bit (하드웨어 제공): 모드를 구분할 수 있게 만듦
사용자 모드, 커널 모드 전이
- Trap: 시스템콜이 커널 모드로 진입하기 위해 소프트웨어 인터럽트 발생
- 커널 모드 진입하고 방출할 때 모드 비트를 다 바꾼다
==시스템 콜==
- OS가 제공하는 서비스를 사용할 수 있게 하는 프로그래밍 인터페이스
- 일반적으로 고수준 API를 이용하여 액세스
- 일반적으로 각 시스템콜에는 번호가 매겨져 있음
- 시스템 콜 인터페이스에서 번호를 이용하여 호출
- 호출자는 시스템 콜 구현에 대해 알 필요 없다
- 인터페이스 상세사항은 API에 의해 프로그램에 숨겨짐
매개변수 전달 방법
- 레지스터에 매개변수 저장하여 전달
- 메모리 블록 or 테이블에 실제 매개변수 저장, 레지스터에 해당 주소 저장하여 매개변수로 전달
- 매개변수 개수/길이 제한 X
- 스택에 의해 전달
- 프로그램은 스택에 push하여 전달
- 운영체제는 pop하여 얻음
- 매개변수 개수/길이 제한 X
종류
프로세스 제어
- 생성, 종료, 중지, 실행, 대기
- 할당, 반환
- 속성 가져오기, 세팅하기
- 오류 시 메모리 덤프
- 버그 찾기 위한 디버거, 싱글 스텝 실행
- 프로세스가 공유하는 데이터 접근을 막기 위한 락
파일 관리
- 생성, 삭제
- 열기, 닫기
- 읽기, 쓰기, 접근 위치 재조정
- 속성 가져오기, 세팅하기
장치 관리
- 장치 요청/해제
- 논리적으로 부착/분리
- 읽기, 쓰기, 접근 위치 재조정
- 속성 가져오기, 세팅하기
정보 유지 관리
- 현재 시간/날짜, 시스템 날짜 얻기, 세팅하기
- 프로세스, 파일, 장치 속성 얻기, 세팅하기
통신
- 통신 연결 생성/삭제
- 메세지 전달 모델 사용 시, 호스트이름 or 프로세스 명시하여 메세지 송수신 (클라 to 서버)
- 공유 메모리 모델 사용 시, 메모리 영역 생성 및 접근 권한 획득
- 상태 정보 전송
- 원격 장치 부착/탈착
보호
- 자원 접근 제어
- 권한 획득 및 설정
- 사용자 접근 허용/거부