[OS] 2-1. 운영체제의 기능

공부 스파이럴·2024년 2월 16일
0

운영체제

목록 보기
5/27

운영체제

  • 정의
    • 사용자와 하드웨어 사이의 중간 매개체응용 프로그램의 실행을 제어하고, 자원을 할당 및 관리하며, 입출력 제어데이터 관리와 같은 서비스를 제공하는 소프트웨어
  • 역할
    • 하드웨어 및 사용자, 응용 프래그램, 시스템 프로그램 사이에서 인터페이스를 제공
    • 프로세서, 메모리, 입출력장치, 통신장치 등 컴퓨터 자원을 효과적으로 활용하려고 조정, 관리
    • 메일 전송, 파일 시스템 검사, 서버 작업 등 높은 수준의 서비스를 처리하는 응용 프로그램을 제어
    • 다양한 사용자에게서 컴퓨터 시스템을 보호하려고 입출력을 제어하며 데이터를 관리

발전 목적

  • 편리성
    • 사용자에게 편리한 환경 제공
    • 프로그램 개발 환경뿐만 아니라 응용 프로그램에 대한 사용자 인터페이스, 즉 사용자와 컴퓨터 시스템이 정보 및 명령을 상호 교환할 수 있는 인터페이스 제공
  • 효율성
    • 사용자가 많은 대형 컴퓨터 시스템에서 특히 중요
    • 운영체제는 각 프로그램을 유기적으로 결합하여 시스템 전체 성능을 향상
    • 시스템 성능 향상
      • 처리량 향상
      • 지연, 응답시간(턴 어라운드 타임) 단축
      • 신뢰도 향상
      • 사용 가능도(가동률) 향상
  • 제어 서비스 향상
    • 시스템 확장, 효율적 운영을 위해 새로운 기능의 효과적인 개발을 허용하는 방법으로 발전
    • 입출력장치의 동작 관리 및 제어, 시스템 오류 예방 등으로 컴퓨터 자원을 여러 사용자에게 효율적으로 할당하고 관리할 수 있도록 제어 서비스를 발전

운영체제 기능

  • 자원 관리
    • 메모리 관리
    • 프로세스 관리
    • 주변장치(입출력장치) 관리
    • 파일(데이터) 관리
  • 시스템 관리
    • 시스템 보호(사용자 권한 부여)
    • 네트워킹(통신)
    • 명령 해석기

자원관리

자원

  • 컴퓨터 시스템의 메모리, 프로세스, 장치, 파일 등 구성 요소

메모리 관리

  • 메인 메모리 관리 : 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리
  • 메모리 관리 기능
    • 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검
    • 메모리에 저장할 프로세스 결정
    • 메모리를 할당하고 회수하는 방법 결정
  • 보조기억장치 관리 : 메인 메모리는 공간이 제한되어 데이터와 프로그램을 계속 저장할 수 없어 보조기억장치 이용
  • 보조기억장치 관리의 기능
    • 여유 공간 관리
    • 새로운 파일 작성 시 저장 장소 할당
    • 메모리 접근 요청 스케줄링
    • 파일 생성하고 삭제

프로세스 관리

  • 프로세스
    • 하나의 프로세스는 프로세서, 메모리, 파일, 입출력장치와 같은 자원으로 구성
    • 자원은 프로세스 생성할 때 제공하거나 실행 중에도 할당 가능
  • 시스템
    • 프로세스의 집합
    • 시스템 코드 수행하는 운영체제 프로세스와 사용자 코드 수행하는 사용자 프로세스로 구분
    • 모든 프로세스는 프로세서 분할 사용하여 병행 수행 가능
  • 프로세스 관리를 위한 운영체제의 기능
    • 프로세스와 스레드 스케줄링
    • 사용자 프로세스와 시스템 프로세스 생성, 제거
    • 프로세스 중지, 재수행
    • 프로세스 동기화 방법 제공
    • 프로세스 통신 방법 제공
    • 교착 상태(deadlock)를 방지하는 방법 제공

주변장치(입출력장치) 관리

  • 운영체제는 특수 프로그램인 장치 드라이브를 사용하여 입출력장치와 상호작용
  • 장치 드라이버는 특정 하드웨어장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램
  • 주변장치(입출력장치) 관리를 위한 운영체제의 기능
    • 임시 저장 시스템 기능 제공
    • 일반 장치용 드라이버 인터페이스 제공
    • 특정 장치 드라이버 제공

파일(데이터) 관리

  • 입출력 파일의 위치, 저장, 검색 관리 의미
  • 컴퓨터 시스템은 물리적으로 다양한 형태로 파일 저장 가능
  • 운영체제는 데이터의 효율적 사용을 위해 단일화된 저장 형태 제공
  • 운영체제는 파일의 용이한 사용을 위해 보통 디렉터리로 구성, 다수의 사용자가 여기에 접근하려고 할 때는 이 접근을 제어
  • 파일 관리를 위한 운영체제의 기능
    • 파일 생성, 삭제
    • 디렉터리 생성, 삭제
    • 보조기억장치의 파일 맵핑
    • 안전한(비휘발성) 저장장치에 파일 저장

시스템 관리

시스템 보호(사용자 권한 부여)

  • 보호 : 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근 제어 방법
  • 운영체제는 파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공, 데이터와 시스템 보안
  • 컴퓨터 시스템에서는 여러 프로세스 동시 실행 가능하므로 상호 보호해야 함
  • 네트워크로 파일 공유 사이트에 접속 시 다른 사용자의 프로그램에서 보호

네트워킹(통신)

  • 프로세서는 다양한 방법으로 구성된 네트워크 이용, 완전 접속과 부분 접속 방법으로 연결
  • 연결된 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등 고려(운영체제가 관리)

명령 해석기

  • 명령 해석기(command interpreter)는 운영체제에서 중요한 시스템 프로그램
  • 대화형으로 입력한 명령어를 이해하고 실행하는 사용자와 운영체제의 인터페이스
  • 사용자가 입력한 명령은 제어문으로 운영체제에 전달하는데, 이 전달을 명령 해석기가 담당
  • 인터페이스 역할을 할 뿐 운영체제는 아님
  • 커널과 분리하는 것이 좋음(명령 해석기의 인터페이스 변경 가능)
    • 분리하지 않으면 사용자가 커널의 코드를 변경할 수 없어 인터페이스를 변경 불가

0개의 댓글