운영체제 개요

2022. 5. 20. 12:04운영체제

728x90

운영체제란?

- 응용 프로그램의 실행을 제어하는 프로그램
- 응용과 하드웨어 간의 인터페이스
- 컴퓨터 사용자와 하드웨어 사이에 중재자 역할
    -  사용자 관점으로의 운영체제
    - 사용자가 컴퓨터를 손쉽게 사용할 수 있게 해줌
    - 컴퓨팅 환경 제공
    - 프로그램 개발, 실행, IO 접근, 파일 접근, 시스템 접근, 에러 발견 및 처리, 어키운팅
- 시스템관점으로의 운영체제
    - 시스템 자원을 효율적으로 관리하는 자원 관리자


운영체제의 목적

 

- 편리성 : 컴퓨터를 편리하게 사용
- 효율성 : 컴퓨터 시스템 자월을 효율적으로 사용
- 발전성 :  효과적인 개발과 검사 그리고 새로운 시스템 도입을 다른 서비스를 방해하지 않고 수용

 

사용자 관점으로의 운영체제


- 사용자가 컴퓨터를 손쉽게 사용할 수 있게 해줌
- 컴퓨팅 환경 제공
-  프로그램 개발, 실행, IO 접근, 파일 접근, 시스템 접근, 에러 발견 및 처리, 어키운팅

시스템관점으로의 운영체제

- 시스템 자원을 효율적으로 관리하는 자원 관리자
- 일반적인 소프트웨어와 동일하게 기능
- CPU에 의해 실행
- 수시로 응용에게 제어를 양도
- 특정 CPU 기능을 통해 응용으로부터 제어권 받음

커널(Kernel)


- 메모리에 상주하는 운영체제 핵심
- 자주 사용되는 기능을 포함


운영체제 발전

1. 순차처리


- 작업을 순차적으로 접근
- 운영체제 x
- 프로그램을 준비하는동안 대기
- 스케줄링 -> 처리 시간을 예약해서 사용 -> 30분 단위로 예약 가능하여 그 이하로 사용하면 남는 시간은 낭비

 

2. 단순 일괄 처리 시스템


- 일련의 이벤트를 제어하는 모니터를 사용
- 일괄 처리
- 작업이 완료되면 다음 모니터로 넘어가 즉시 다음 작업 처리
- 각 결과물 출력 후 사용자에게 전달

 

3. 멀티 프로그래밍 일괄 처리 시스템


- 여러 개의 프로그램이 메모리에 올라와 CPU 를 번갈아가며 사용
- 운영체제에 의해 IO 작업 수행 -> 한 작업이 입출력을 대기해야 할 때 처리기는 다른 작업으로 제어 넘김
- 여러 개의 job에 메모리 할당
- CPU 스케줄링 :  준비 상태에 있는 job중 하나를 선택해 cpu 할당
- CPU 이용률 극대화
- 단점 : 수행중인 job과 상호작용 안됨

 

4. 시분할 시스템


- 매 쿨럭 인터럽트마다 제어가 운영체제에게 넘겨짐 -> 처리기가 다른 사용자에게 할당
- 여러 개의 대화형 작업을 다루기 적합
- 처리기 시간은 여러 사용자들이 공유
- 다수의 사용자들은 터미널을 통해 동시에 시스템 접근

 

운영체제 주요 기능

 

프로세스 관리

 

프로세스란?

 

- 수행중인 프로그램
- 컴퓨터 상에서 수행중인 프로그램의 인스턴스
- 처리기에 할당되어 수행될 수 있는 개체
- 스레드, 상태, 시스템 자원 등에 의한 활동 단위

 

메모리 관리

 

- 프로세스 분리
- 자동 할당 및 관리
- 모듈식 프로그래밍 지원
- 보호 및 접근 제어
- 영구 저장 지원
- 가상 메모리
    - 프로그램들이 실제 장착된 메모리 양에 관계 없이 논리적 관점에서 메모리 주소를 지정할 수 있게 함

    - 여러 개의 프로그램이 동시에 메모리에 올라와 있어도 통일된 주소 지정 방식 사용 가능

 

멀티 쓰레딩

 

한 프로세스를 여러 개의 스레드(실행흐름)으로 나누어 병행적으로 실행
- 스레드(Thread)
    - CPU에 작업을 할당하느 디스패칭 단위
    - 서브루틴 분기/복귀를 가능하게 하는 CPU문맥 및 데이터영역 포함
    - 순차적으로 실행, 인터럽트 가능
- 프로세스(Process)
    - 하나 이상의 쓰레드와 관련 시스템 자원들의 컨테이너 역할
    - 프로세스를 통해 프로그래머는 응용의 모듈화 수준과 응용 관련 사건들의 타이밍 조절 가능


728x90

'운영체제' 카테고리의 다른 글

프로세스 기술과 제어  (0) 2022.05.22
컴퓨터 시스템 개요  (0) 2022.04.17