[OS]운영체제

Geeho.a·2020년 10월 27일
0

1. 운영체제 목적

운영체제란? 컴퓨터 하느웨어를 관리하는 프로그램이다.

  • 컴퓨터를 시스템의 각종 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 운영 관리함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 시스템 소프트웨어이다.
  • 사용자에게 편리함을 제공하고 시스템의 생산성을 높여주는 역할을 한다.
  • 운영체제는 사용자가 응용 프로그램을 편리하게 사용하고 하드웨어의 성능을 최적화 할 수 있도록 한다.
  • 운영체제는 모든 하드웨어와 소프트웨어를 관리하는 컴퓨터 시스템의 한 부분인 '실행관리자'라고 정의할 수 있다.

1950년대 컴퓨터 'ENIAC'이 폰노이만에 의해 만들어 졌다. 기계어로 프로그래밍을 하던 시절 운영체제라는 개념이 없었다. 예로 출력, 저장 등 공통적인 기능들도 각 프로그램별로 다 짜야 하는데 이런 컴퓨터 하트웨어를 몰라도 쉽게 프로그램을 만들 수 있게끔 하는 기능들을 모아 프로그램을 만들어 준것이 운영체제의 시초이다. 프로그래머가 컴퓨터 하드웨어를 모르더라도 컴퓨터를 쉽게 만들 수 있도록 지원해주는 소프트웨어가 운영체제! 시간이 흐를수록 다양한 기능들이 더해져서 현재의 운영체제가 되었음

2. 운영체제 5계층 구조

5계층파일 관리
4계층주변장치 관리
3계층프로세스 관리
2계층메모리 관리
1계층프로세서 관리
  • 1계층(프로세서 관리) : 주로 프로세스 스케줄링 담당.
    실행중인 프로그램을 처리해야 할 순서를 정하는 것. CPU는 한번에 한가지 명령만 수행 가능해서 스케줄링 작업이 필요하다. CPU에 이미 어떤 실행중인 프로그램에 대해 명령을 수행중이라면 실행중인 프로그램은 작업을 할 수 없게 된다. 이 때마다 순서를 바꿔서 다른 실행중이던 프로그램도 이용할 수 있게 해주는 것이 바로 프로세스 스케줄링이다.
  • 2계층(메모리 관리) : 메모리 할당/회수 역할을 담당.
    프로그램이 사용할 메모리 공간을 확보하는 것을 말한다. 여기서 메모리는 주 기억장치인 RAM(읽기/쓰기 가능)과 ROM(읽기만 가능)을 의미한다.
  • 3계층(프로세스 관리) : 프로세스를 생성하거나 제거하는 역할을 담당.
    실행중인 프로그램의 프로세스를 생성하여, 각 프로세스별로 관리를 하고 프로그램을 동시에 작업 할 수 있도록 해주며, 프로그램 종료시 프로세스를 제거한다.
  • 4계층(주변장치 관리) : 주변장치와 입출력 장치의 스케줄링을 관리하는 역할(키보드, 프린트, 마우스등..)
  • 5계층(파일 관리) : 파일 생성,삭제,파일열기, 닫기, 복사 등 파일과 관련된 관리를 담당.

--> 운영체제의 가장 핵심적인 역할을 하는 부분이 바로 커널인데, 이러한 운영체제 5계층이 커널에 포함된다.

  • 커널?
    프로세서관리, 메모리관리, 프로세스관리, 주변장치 관리, 파일관리, 인터럽트 처리 담당을 한다. 운영체제의 핵심. 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램
    운영체제에서 가장 중요한 구성요소로 입출력을 관리하고 소프트웨어로부터 요청을 컴퓨터에 있는 하드웨어가 처리할 수 있도록 요청을 변환하는 역할. 하트웨어를 관리하고 필요한 프로세스를 나눠주는 등 여러 시스템 자원을 제어하고, 컴퓨터 부팅시 부트로더에 의해 로드되어 항상 메모리에 상주하게된다.

  • 쉘?
    사용자와 운영체제간에 대화를 가능하게 해주는 명령어 해석기 역할.
    사용자(명령) -> 쉘(해석) -> 커널(명령 수행 후 결과전송) -> 쉘(해석) ->사용자(결과확인)

  • 인터럽트(Interrupt)?
    컴퓨터에 장착된 장치나 컴퓨터 내의 프로그램으로부터 오는 신호로서 운영체계가 하던 일을 멈추가 다음에 무엇을 할것인지 결정하게 한다.

3. OS운영 모드

리얼모드프로세서의 초기 상태로 16비트 모드로 동작 8086 프로세서와 호환되는 모드. 최대 1MB의 주소공간을 지원
보호모드32비트 모드로 동작. 세그먼트,페이징,보호,멀티태스킹 등의 기능을 제공하는 모드. 4GB의 주소공간을 지원
IA-32e모드32비트 호환 모드와 64비트 모드의 두 가지 서브 모드로 구성. 16EB의 주소 공간을 지원하는 모드
시스템 관리모드전원 관리나 하드웨어 제어 같은 특수 기능을 제공하는 모드
가상 8060모드보호 모드 내부에서 가상의 환경을 설정하여 리얼 모드처럼 동작하는 모드

리얼모드, 보호모드, IA-32e -> OS가 반드시 지원해야하는 세 가지 모드

4. 운영체제 운용기법

  • 일괄처리 시스템 : 작업을 모아서 처리, 사용자와 상호작용 없이 순차적으로 실행. 반환시간이 늦지만 하나의 작업이 모든 자원을 독점한다. 일괄처리를 위해 적절한 작업 제어 언어(Job Control Language)를 제공해야한다.;

  • 시분할 시스템 : 일괄처리보다 반환시간 빠름. 이용자에게 즉각적인 피드백 제공. 여러명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가면서 처리해줌, 각 사용자들에게 독립된 컴퓨터를 사용하는 느낌을 줌.(Round Robin방식). 응답시간을 최대한 줄이는 것을 목적으로함

  • 다중프로그래밍 시스템 : 하나의 CPU와 주기억 장치를 이용하여 여러개의 프로그램을 동시에 처리. 하나의 주기억장치에 두개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리한다. CPU의 사용률과 처리량이 증가

  • 다중처리 시스템 : 여러개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식. 하나의 CPU와 고장나더라도 다른 CPU를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높다.

  • 실시간 처리 시스템 : 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식. 처리시간이 단축되거, 처리 비용이 절감.

  • 다중 모드 처리 : 일괄처리 시스템, 시분할시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식

  • 분산처리 시스템 : 여러개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식. 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있다.

0개의 댓글

관련 채용 정보