운영체제

신홍석·2023년 3월 3일
0

운영체제

목록 보기
1/1

컴퓨터 시스템의 구성

사용자 - 응용 소프트웨어 - 시스템 소프트웨어 - 하드웨어

1. 운영체제

  • 대표적인 시스템 소프트웨어
  • 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 도작하기 위한 서비스를 제공하는 프로그램들의 모음

2. 운영체제의 역할

  • 컴퓨터 시스템의 자원 관리
	: 하드웨어 자원
    
    : 소프트웨어 자원
    
    : 데이터
  	
    : 컴퓨터 시스템을 효율적으로 운영하는 목적
  • 사용자 지원
    : 사용자가 내린 명령을 해석하여 실행하게 함 : 사용자와 하드웨어 사이의 매개체 역할 : 사용자에게 편의성을 제공하는 목적
  • 운영 체제가 없던 초기의 컴퓨터 시스템
    		:응용 프로그램이 직접 컴퓨터 시스템의 자원 제어
       
    		:응용 프로그램 개발자는 하드웨어 제어 방법을 잘 알아야 함
       
    		:여러 분할 작업을 하게 될 경우 자원을 공유하기 때문에 운영 하기가 어려움
       
  • 운영 체제가 있는 컴퓨터 시스템
	: 사용자와 하드웨어 사이에 운영체제가 위치한다.
    : 운영처제가 컴퓨터 시스템의 자원 제어

3. 커널 모드

  • 하드웨어에 대한 제어를 운영체제만 하도록 하려면, 응용 프로그램이 하드 웨어에 직접 접근하는 것을 강제로 막을 필요가 있다.
  • 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드.
  • 운영체제의 커널이 동작함

4. 사용자 모드

  • 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 없는 모드.
  • 응용 프로그램이 동작함

5. Kernel?

  • 커널 모드에서 동작하는 운영 체제의 핵심 요소
  • 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할

1. 일체형 커널

  • 운영 체제의 모든 서비스가 커널 내에 포함됨 kernal == os
  • 운영 체제가 해야할 모든 운영 서비스들이 커널안에 들어가 있음
    장점: 커널 내부 요소들이 서로 효율적으로 상호작용을 함
    단점: 한 요소라도 오류가 발생하면 시스템 전체에 장애 발생 가능
    (UNIX, Linux)

2. 마이크로 커널

  • 운영체제 요소의 대부분을 커널 외부로 분리
  • 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC) 등 최소한의 요소만 커널 내에 남김
    장점: 새로운 서비스를 추가하여 운영 체제를 확장하기 쉬움, 유지보수가 용이하여 안정성이 우수함
    단점: 커널 외부 요소들 사이는 IPC 가 필요하여 성능 저하 발생

3. 시스템 호출

  • 응용 프로그램이 하드웨어에 대한 제어가 필요한 경우 이용
  • 운영 체제에 서비스를 요청하는 메커니즘

6. 운영체제의 구성

1. 프로세스 관리자

  • 프로세스의 생성 및 삭제
  • CPU 할당을 위한 스케줄 결정
  • 프로세스의 상태를 관리하며 상태 전이 처리
  • CPU, 메모리, 저장 장치
  • 저장 장치 => 메모리 (process) 실행중인 프로그램을 프로세스 라고 한다 => CPU

2. 메모리 관리자

  • 메모리(주기억장치) 공간에 대한 요구의 유효성 확인
  • 메모리 할당 및 회수
  • 메모리 공간 보호

3. 파일 관리자

  • 컴퓨터 시스템의 모든 장치 관리
  • 시스템 장치의 할당, 작동, 반환

4. 장치 관리자

  • 컴퓨터 시스템의 모든 파일 관리
  • 저장장치의 공간 관리
  • 파일의 접근 제한 관리

7. 운영 체제의 유형

1. 일괄처리 운영체제 (Batch processing)

  • 작업을 모아서 순서대로 처리하는 방식
  • 사람(오퍼레이터)이 하던 일을 프로그램이 빠르게 처리 하게 되면서 전체적인 작업 처리 속도가 향상됨
  • 나중에 들어온 작업은 앞선 작업들이 모드 끝날때까지 아무런 상호작용 없이 기다려야만 함

2. 시분할 운영체제 (Time-sharing)

  • 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식
  • 대화형(interactive) 운영 체제라고도 함
  • 사용자는 마치 혼자 컴퓨터를 사용하는 듯한 느낌을 받음
  • 응답시간이 일괄처리 운영체제보다 크게 단축됨 (응답시간: 요청한 시점부터 반응이 시작되는 시점까지의 소요시간)

3. 실시간 운영체제 (RTOS) (REAL TIME Operating System)

  • 원하는 시간 내에 프로그램의 결과를 얻을 수 있는 방식
  • 처리 결과가 현재의 결정에 영향을 주는 환경에서 사용됨
  • 미사일 제어 시스템, 증권 거래 관리 시스템 등
  • 우선 순위가 높은 작업부터 처리

4. 분산 운영체제

  • 분산 시스템을 관리하기 위한 운영체제
  • 분산 시스템 - 2개 이상의 컴퓨터 시스템이 네트워크로 서로 연결되어 서로의 자원을 이용하는 시스템
  • 다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템에 있는 자원을 이용하는 것처럼 가능해야 함
profile
백엔드 개발자 공부

0개의 댓글