Declan Andrew
Kaminion
Declan Andrew
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 잡담 (1)
    • AI (0)
      • 논문 리뷰 (0)
    • 유니티 (1)
    • C (2)
    • Java (11)
    • 서버(Server) (10)
      • PHP (1)
      • DevOps (4)
    • JavaScript (12)
      • Node.js (1)
      • React.js (6)
    • 프론트엔드 (1)
    • 안드로이드 (2)
    • 알고리즘과 자료구조 (2)
    • 통계 (0)
      • 중학 통계 (0)
      • 고등 통계 (0)
      • 대학 통계 (0)
    • 컴퓨터과학 (19)
      • 디지털 논리회로 (6)
      • 인공지능 (3)
      • 데이터베이스 (3)
      • 정보통신망(네트워크) (4)
      • 프로그래밍 언어론 (0)
      • 운영체제 (3)
    • 수학 (8)
      • 기초 수학 (5)
      • 공학 수학 (3)
      • 게임 수학 (0)
    • 자격증 (12)
      • AWS (3)
      • 정보처리기사 (9)
    • 빅데이터 (1)
      • 이론 (0)
      • 실습 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 티스토리로이동

공지사항

인기 글

태그

  • 프로그래밍
  • 개발
  • 프로그래머
  • 자바스크립트
  • 자격증
  • DB
  • 정보처리기사
  • 파이썬
  • java
  • 데이터베이스
  • 논리회로
  • 수학
  • Programming
  • JavaScript
  • 인공지능
  • 리눅스
  • Ai
  • 리액트
  • OS
  • 큐넷
  • 자바
  • React
  • 정처기
  • Q-net
  • react-native
  • js
  • 기사
  • qnet
  • Database
  • array

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Declan Andrew
컴퓨터과학/운영체제

제 1장 운영체제 개요

제 1장 운영체제 개요
컴퓨터과학/운영체제

제 1장 운영체제 개요

2019. 3. 14. 23:29
반응형
1. 운영체제의 개요

1.1 운영체제의 역할
운영체제란 컴퓨터의 하드웨어 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 시스템 소프트웨어이다.

운영체제의 역할을 좀 더 구체적으로 살펴보면 다음과 같다.


1) 컴퓨터 시스템의 운영
- 컴퓨터 시스템의 자원을 제어 및 관리 및 운영
- 응용 프로그램들의 실행을 도와줌
ex ) 키보드나 마우스 등의 장치제어, 여러 프로그램들이 실행될 때 CPU와 메모리 관리를 효율적으로 함


2) 사용자 지원
- 사용자가 내린 명령을 해석하여 실행하게 함
- 사용자와 하드웨어 사이의 매개체 역할
ex) 사용자가 컴퓨터를 잘 모르더라도 쉽게 사용할 수 있도록 GUI 형태의 인터페이스 제공, USB메모리를 컴퓨터에 꽂으면 사용자가 볼 수 있게해줌.


1.2 컴퓨터 시스템과 운영체제
운영체제가 없던 초기의 컴퓨터 시스템은 응용프로그램이 직접 컴퓨터 시스템의 자원을 제어해야했다.

프로그램 개발자는 하드웨어에 대한 제어 방법을 잘 알고 있어야 했다.



하나의 하드웨어를 여러 사용자가 공유해서 사용하는 경우, 

응용프로그램들끼리 효율적으로 서로 자원을 나눠서 쓰기가 어려워 컴퓨터 시스템이 제대로 동작하지 못했다. (또는 서로 다른 사용자)



- 이런 점들을 극복하기 위해 하드웨어와 응용프로그램 사이에 운영체제를 두고 하드웨어에 대한 제어는 운영체제만 하도록 하였다.
응용프로그램은 하드웨어에 대한 자세한 정보를 몰라도 운영체제에게 부탁(System Call)하면 운영체제가 대신 하드웨어를 제어함


그러나 이러한 형태로 동작하려면 운영체제에서 응용프로그램이 직접 하드웨어에 접근하는것을 강제로 막을 필요가 있다.(시스템의 안전성 보장)

이를 위해 운영체제는 슈퍼바이저 모드와 보호 모드가 사용된다.


슈퍼바이저 모드(커널 모드)
- SuperVisor Mode(Kernel Mode)
- 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용 할 수있는 모드
- 운영체제의 커널이 동작되는 모드


보호 모드(사용자 모드)
- UserMode
- 하드웨어를 직접 제어하는 CPU의 명령어를 사용할 수 없는 모드
- 응용프로그램이 동작되는 모드


1.3 커널(Kernel)
- 운영체제의 핵심
- 운영체제와 동일하거나 일부분
동일한 경우 일체형 커널, 일부분일 경우 마이크로 커널로 분류한다.

일체형 커널(monolithic kernel)
- 운영체제의 모든 서비스가 커널 내 포함

- 장점 : 커널 내부 요소로 존재하는 여러 서비스들이 서로 효율적으로 상호 작용함.

- 단점 : 모든 요소가 커널 내부에 있어 하나의 요소에서라도 오류가 발생하면 시스템 전체에 장애를 일으킬 수 있음.
UNIX와 Linux 등이 일체형커널임.


마이크로 커널(micro kernel)
- 운영체제의 대부분 요소가 커널 외부로 분리, 커널 내부에는 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC) 등 최소한의 요소들만 남겨 놓은 커널

- 파일 시스템, 장치 드라이버, 네트워크 프로토콜 등이 슈퍼바이저모드가 아니라 보호모드에서 동작하도록 분리됨.

- 장점 : 새로운 서비스를 추가하여 운영체제를 확장하기 쉬움, 커널 외부에 문제가 생겨도 커널에 영향이 없음.

- 단점 : 커널 외부에 존재하는 운영체제의 요소(장치 드라이버, 파일시스템) 들 사이에 데이터 전달이 필요할 경우 프로세스 간 통신(IPC)을 통해야함


1.5 운영체제의 구성
운영체제는 크게 네 가지의 서브시스템으로 나누어 볼 수 있다.
프로세스 관리자, 메모리 관리자, 장치 관리자, 파일 관리자 이다.


1) 프로세스 관리자

사전 지식) 컴퓨터는 CPU와 메모리로 프로그램을 처리→ 디스크에 파일 형태로 프로그램이 존재→실행→메모리에 프로그램이 올라옴(프로세스)→CPU명령어로 처리(프로세스 관리, 자가 스케줄링)

- 프로세스를 생성 및 삭제
- CPU에 할당하기 위한 스케줄을 결정
- 프로세스의 상태(준비, 실행, 대기 등)를 관리


2) 메모리 관리자
- 프로세스가 메모리에 존재할 수 있도록 함(할당 및 회수)
- 메모리 공간이 겹치지않도록 할당(충돌방지)
- 운영체제가 점유하고 있는 공간 보호


3) 장치 관리자
- 컴퓨터 시스템의 모든 장치 관리
- 모든 장치를 효율적으로 할당, 작동, 반환하는 역할을 함
- 디스플레이, 프린터, 키보드, 네트워크 장치 등


4) 파일 관리자
사전 지식) 시스템 프로그램의 종류는
컴파일러, 인터프리터, 어셈블러

- 시스템 프로그램과 응용프로그램을 포함한 시스템의 모든 파일을 관리
- 파일의 접근제한 관리
- 파일을 열어 자원할당, 파일을 닫아 자원회수


1.6 운영체제의 유형
운영체제는 응답시간의 속도와 데이터의 입력 방식에 따라 일괄처리, 대화형, 실시간, 하이브리드 운영체제의 네가지 유형으로 분류됨.


1) 일괄처리 운영체제
- 작업을 모아서 처리
- 사용자와 상호작용없이 순차적 처리
- 효율성은 처리량과 반환시간에 의해 평가
- 주로 OMR과 OCR카드를 입력장치로 사용


2) 대화형 운영체제
- 시분할 운영체제라고도 함
- 사용자와 서로 대화를 함(상호 작용)
- 여러 사용자가 하나의 하드웨어에게 사용 요청

- 시간을 할당하여 시간을 나눠서 처리
- 효율성은 응답시간(요청한 시점부터 반응이 시작되는 시점까지의 소요)
- 일괄처리보단 빠르지만 실시간보다 느리다


3) 실시간 운영체제(RTOS)
- 모든 운영체제 중 가장 빠른 응답시간
- 처리의 결과가 현재의 결정에 영향

- 특정시간안에 결과를 받아야하는 중요한 시스템에 사용

- 우주선 비행시스템, 미사일 제어, 증권거래 등


4) 하이브리드 운영체제
- 일괄처리와 대화형 운영체제의 결합

- 대화형 작업량이 많지 않을 경우 운영체제는 실제로 백그라운드에서 배치 프로그램을 받아들이고 실행함

- 현재 사용되는 대부분의 대형 컴퓨터 시스템은 하이브리드 운영체제





반응형

'컴퓨터과학 > 운영체제' 카테고리의 다른 글

1-2 운영체제의 역사  (0) 2019.03.15
운영체제 개관  (0) 2019.03.13
    '컴퓨터과학/운영체제' 카테고리의 다른 글
    • 1-2 운영체제의 역사
    • 운영체제 개관
    Declan Andrew
    Declan Andrew
    궁금한 점은 메일 주세요. jwsoft0529@gmail.com 블로그 확인 잘 안합니다.

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.