본문 바로가기
TIL

운영체제 - 운영체제 소개

by cariño 2025. 3. 31.
728x90
반응형

운영체제란?

컴퓨터 시스템의 구성

  • 하드웨어 (물리적 장치) : cpu, 메모리, 저장장치, 입출력장치, 네트워크 장치 등
  • 소프트웨어:  브라우저, 오피스문서 등 응용 프로그램
  • 응용 소프트웨어 (pdf 뷰어, office 문서 등)
  • 시스템 소프트웨어(하드웨어를 관리해주는 역할이 주) : 하드웨어와 응용 소프트웨어의 매개체 (컴파일러, 레지스터, 윈도우, 맥, 리눅스 운영체제 등)

 

 

운영체제 (프로그램 모음)

- 대표적인 시스템 소프트웨어

- 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모음

 

 

운영체제의 역할

  1. 컴퓨터 시스템의 자원 관리:
    • 자원: 하드웨어 자원, 소프트웨어 자원, 데이터
    • 예) 저장장치에서 데이터 읽어오기, 키보드나 마우스 제어, 프로그램 동시 실행 시 cpu와 메모리를 효율적으로 관리 
    • 컴퓨터 시스템을 효율적으로 운영하는 목적 
  2. 사용자 지원
    • 사용자가 내린 명령을 해석하여 실행하게 함
    • 사용자와 하드웨어 사이의 매개체 역할
    • 사용자에게 편의성을 제공하는 목적

 

운영체제가 없던 초기 컴퓨터 시스템

 

  • 응용 프로그램이 하드웨어를 직접 컴퓨터 시스템의 자원을 제어했음.
    • 응용 프로그램 개발자는 하드웨어 제어방법을 잘 알아야 함.
  • 여러 사용자가 하드웨어를 공유하는 경우 자원 분할이 어려움
    • ex) 응용 프로그램A, B, C ( 동시 사용 중 ) 각 응용 프로글매에 필요한 자원은 하드웨어에서 분할 해서 사용하게 되면 개별 응용프로그램은 자신이 쓸 자원에 대해서만 제어를 한다.
    • 동시에 겹치는 자원을 사용하게 된다면 데이터가 서로 꼬이거나 이미 사용하고 있는 응용프로그램이 있기에 반응을 안 할 수도 있음.  

 

운영체제가 있는 컴퓨터 시스템

 

하드웨어와 응용 프로그램 사이에 운영체제가 위치하게 될 경우

사용자가 응용프로그램을 사용하려고 하면, 해당 개발자는 운영체제를 이용하여 하드웨어와 소통하는 로직을 생성한다.

운영체제는 동시 사용중인 응용프로그램이 사용하려는 하드웨어의 겹치는 부분이 발생할 경우 또는 자원에 대한 할당과 순서를 제어하면서 중간다리 역할을 해준다. 운영체제가 생김으로써 컴퓨터 시스템은 안정적이고 효율적으로 동작하도록 하게 됐다.

 

 

커널 모드와 사용자 모드

  • 커널모드(슈퍼바이저 모드)
    • 하드웨어를 직접 제어할 수 있는, CPU명령어를 사용할 수 있는 모드
    • 운영체제의 커널이 동작함
  • 사용자모드 (보호 모드)
    • 하드웨어를 직접 제어할 수 있는 CPU명령어를 사용할 수 없는 모드
    • 응용 프로그램이 동작함

 

커널(kernel)이란?

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

 

일체형 커널 

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

마이크로 커널

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

시스템 호출

  • 응용 프로그램이 하드웨어에 대한 제어가 필요한 경우 이용
  • 운영체제에 서비스를 요청하는 매커니즘
  • 하드웨어에 대한 자원을 관리/사용 하고 싶다는 역할을 시스템 호출을 통해서 요청 > 모드가 변경 > 커널 모드 > 하드웨어에서 역할이 다 끝난 후 운영체제은 응용프로그램에게 응답을 해주면서 커널모드가 종료 > 사용자 모드 > 응용프로그램 동작

 

운영체제의 구성

컴퓨터 시스템의 자원의 성격에 따라 구분

 

  • 프로세스 관리자
    • 프로세스 생성 및 삭제
    • 실행을 위해 CPU 할당을 위한 스케줄 결정
    • 프로세스 상태를 관리하며 상태 전이 처리
  • 메모리 관리자
    • 메모리(주기억장치) 공간에 대한 요구의 유효성 확인: 기존에 존재하는 프로세스의 공간을 침범하는 지 확인
    • 메모리 할당 및 회수: 예를 들어 브라우저 프로세스가 메모리에 만들어졌을 경우, 메모리의 특정 영역을 할당받아서 사용되는데 그 특정 영역을 할당해주는 역할
    • 메모리 공간 보호: 이미 사용 중인 공간을 관리함 
  • 파일 관리자
    • 컴퓨터 시스템의 모든 파일 관리
    • 저장장치안의 공간 관리
    • 파일의 접근 제한 관리
    • ex) 프로그램 파일, 데이터 파일 등
  • 장치 관리자 
    • 컴퓨터 시스템의 모든 장치 관리
    • 시스템 장치의 할당, 작동, 반환 

 

 

운영체제의 유형

  • 일괄처리 운영체제
    • Batch processing: 작업을 모아서 순서대로 처리하는 방식
      • 사람(오퍼레이터)이 하던 일을 프로그램이 빠르게 처리하게 되면서 전체적인 작업 처리 속도가 향상됨.
      • 차례대로 작업을 하기 때문에 나중에 들어온 작업은 앞선 작업들이 끝날 때까지 아무런 상호작용 없이 기다려야 함.
      • (ex) 1주일걸리는 작업이 앞에 있고 1시간 걸리는 작업이 뒤에 있는 경우
  • 시분할 운영체제
    • Time-sharing: 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식
      • 다른 의미로 대화형(interactive)운영체제 라고도 함.
      • 사용자들은 마치 혼자 컴퓨터를 사용하는 듯한 느낌을 받음 
      • 응답시간이 일괄처리 운영체제보다 크게 단축된다. 
        • 응답시간: 요청한 시점부터 반응이 시작되는 시점까지의 소요시간
  • 실시간 운영체제
    • Real-time: 원하는 시간 내에 프로그램의 결과를 얻을 수 있는 방식
      • 처리결과가 현재의 결정에 영향을 주는 환경에서 사용 됨
        • 미사일 제어 시스템, 증권거래 관리 시스템 등
        • 작업에 따라 우선순위가 높은 작업을 우선 처리할 수 있는 기법 활용
  • 분산 운영체제
    • 분산 시스템을 관리하기 위한 운영체제
      • 분산 시스템: 2개 이상의 컴퓨터 시스템이 네트워크로 서로 연결되어 서로의 자원을 이용하는 시스템
    • 다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템에 있는 자원을 이용하는 것처럼 가능해야 함.
728x90

'TIL' 카테고리의 다른 글

운영체제 - 프로세스 스케줄링  (0) 2025.04.07
운영체제 - 프로세스와 쓰레드  (0) 2025.04.01
서블릿, 멀티 쓰레드  (1) 2025.01.19
TIL - 스택  (0) 2025.01.07
TIL - 배열과 연결리스트  (1) 2025.01.02

댓글