이중모드란?

Noah·2022년 7월 20일
0

OS Study

목록 보기
1/16
post-thumbnail

본 포스팅은 운영체제 스터디를 진행하면서 배운 내용에 대해 정리해둔 공간입니다.

용어 개념 정리 부분은 강의를 수강하면서 기억이 잘 나지 않은 개념들에 대해서 간략하게 정리한것 입니다 ㅎ

용어 개념 정리

  1. Interrupt
    • CPU가 프로그램 실행 중, HW 또는 장치에 예외가 발생하여 처리가 필요할 때 발생
    • 종류
      1. HW Interrupt
        • CPU가 아닌 다른 HW가 CPU에 정보를 주거나 CPU 서비스를 요청할 경우 발생
      2. SW Interrupt
        • SW가 인터럽트 라인을 세팅
          • 예시) 예외 상황 발생, System call
  2. Address Bus
    • CPU로부터 메모리로 데이터의 소재를 표시하는 주소를 보내거나 I/O 포트로 포트 번호를 보내주는 버스
    • 일정한 메모리 번지를 찾을 때 신호를 운번하는 버스
  3. Data Bus
    • 메모리에서 데이터를 전송하거나 전달 받음
  4. MMU
    • CPU가 메모리에 접근하는 것을 관리하는 HW 부품
    • 가상 메모리 주소를 실제 메모리 주소로 변환
    • 메모리 보호, 캐시 관리, 버스 중재 등의 역할 담당

이중 모드(Dual Mode)

  • 한 컴퓨터를 여러 사람이 동시에 사용하는 환경
    • 한 사람의 영향이 컴퓨터에 큰 문제를 일으킬 수 있다.
    • 예시) stop 명령어를 한명의 사용자가 수행한다면 CPU가 꺼지게 되는데 이때 여러 명이 사용한다면 큰 문제가 발생할 수 있다.
  • 위 문제를 막기위해 CPU 동작하는 모드를 사용자(User), 관리자(Supervisor) 모드로 나뉘게 된다.
  • 레즈스터에 모드를 나타내는 플래그(flag)를 사용하여 OS의 모드를 구분
  • 관리자 모드
    • 운영체제 서비스 실행 시
    • HW/SW 인터럽트 발생시
  • 사용자 모드
    • 사용자 프로그램 실행 시
    • 운영체제 서비스가 종료 시
  • 이중 모드를 통해 HW를 보호한다.
    • 입출력장치 보호
      • 사용자의 잘못된 입출력 명령(다른 사용자의 입출력 및 정보에 방해를 의미)
        • 예시) 프린터 혼선, 리셋, 다른 사람의 파일 Read & Write
      • 해결 방법
        • 입출력 명령을 특권 명령으로 변경
        • 입출력을 하려면 운영체제에게 System Mode 전환 요청(SW Interrupt) 하고, 운영체제가 입출력 대행을 마친 후 다시 User Mode로 전환한다.
        • 올바른 요청이 아닐 시, 운영체제가 거부
    • 메모리 보호
      • 다른 사용자 메모리 또는 운영체제 영역 메모리 접근
      • 해결 방법
        • MMU(Memory Management Unit)를 두어 다른 메모리 영역 침범을 감시한다.
    • CPU 보호
      • 한 사용자가 실수 또는 고의로 CPU 시간 독점하는 경우
        • 다른 사용자의 프로그램 실행 불가
          • 예시) While(True)...
      • 해결법
        • Timer를 두어 일정 시간 경과 시 타이머 인터럽트 발생
        • 인터럽트 -> OS -> 다른 프로그램으로 강제 전환

복습하게 된 내용

  1. 컴퓨터를 쉽게 이해하면 CPU, Main Memory, HDD(SSD)

로 구성되어 있다. 컴퓨터를 키게 되면 OS가 Main Memory에 올라가게 된다.

올라가게된 OS는 컴퓨터에 대한 모든 제어권을 가지게 된다.

  1. HW를 제어하는것은 OS이다.
  2. System Mode = Kernel Mode
profile
BackEnd 개발자가 되기 위해 공부중입니다!

0개의 댓글