본문 바로가기

OS

운영체제 Intro

http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1046323

 

운영체제

운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각

www.kocw.net

해당 강의를 보고 개인적인 정리를 하는 포스팅입니다.

 


1강. 운영체제 공부를 시작하기 전, 기본적인 개념과 용어 정리

 

운영체제(OS)

 

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.

좁은 의미로서는 커널만을 의미하기도 하고, 넓은 의미로서는 커널 뿐만 아니라 모든 주변 시스템 유틸리티를 포함한 용어

 

* 커널 : OS 중 항상 필요한 부분만을 모아 메모리에 상주시킨 영역

 

운영체제의 목적

컴퓨터 시스템을 사람의 입장에서 편리하게 사용할 수 있게하고, 자원을 효율적으로 관리.

 

  • 형평성 : 사용자간 형평성 있는 자원 분배
    • 특정 OS 는 사용자 격리를 제공하여 각각의 사용자가 동시에 독자적인 컴퓨터를 사용하는 것 같은 경험을 제공함
  • 효율성: 주어진 자원으로서 최대한의 성능을 내도록 함
    • 하드웨어 뿐만 아니라 프로세스, 파일, 메시지 등 소프트웨어 자원 역시 관리하고 보호함
  • 편리성: 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
    • 하드웨어를 직접 다루는 복잡한 부분은 운영체제가 알아서 수행

 

운영체제의 분류

 

  • 동시작업 여부 별 분류
    • 단일 작업 OS: 한번에 하나의 오퍼레이션만 수행 가능 ex) MS-DOS
    • 다중 작업 OS: 한 명령의 수행이 끝나기 전에도 다른 명령이나 프로그램 수행 가능 ex) Linux, Windows
  • 사용자 수 별 분류 (여러 사용자가 동시에 접속이 가능한 지)
    • 단일 사용자 OS : ex) MS-DOS..
    • 다중 사용자 OS: 사용자별 권한관리와 자원관리 기능이 필수적임 ex) Unix, NT server..
  • 처리 방식에 따른 분류
    • 일괄 처리(Batch Processing) 방식 OS: 작업 요청의 일정량을 모아 한번에 처리함. 작업이 완료 될 떄 까지 기다려야함. 
    • 시분할(time Sharing) 방식 OS: 여러 작업을 수행할 때, 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용. 일괄처리에 비해 빠른 응답시간과 CPU 의 제어권을 시간단위로 주고 뺏으면서 동작하기에 빠른 컴퓨터의 연산속도로 인해 사람이 느끼기에는 다중 작업을 하더라도 즉시 상호작용이 오는 경험을 느낌. 요즘 대중적인 컴퓨터 OS 의 대부분이 여기 속함.
    • 실시간 (real time) OS: 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 시스템에 사용.(원자로, 공장, 로켓, 반도체..)

 

운영체제 예시

 

MS-DOS

  • 단일 사용자 기반
  • 하드웨어 발전에 따라 오지 못하는 메모리 관리 능력의 한계로 사장됨

MS-Windows - 개인용 PC 를 목적으로 최초 개발됨

  • 다중 작업용 GUI 기반의 운영체제
  • Plug and Play 네트워크 환경 강화
  • DOS 와의 호환성 보유
  • 풍부한 지원 소프트웨어

Unix 계열 - 대형 컴퓨터 시스템을 위해 최초 개발됨

  • 높은 이식성 - 90 % 이상이 C 언어로 개발되어 어셈블리 어로 된 소수의 부분만 새로운 환경에 맞게 수정하면 됨
  • 최소한의 커널 구조 - 운영체제가 사용하는 메모리의 영역이 작다
  • 확장이 용이하며 오픈소스로 시작함
  • 프로그램 개발에 용이
  • 다양한 버전 존재 - System V, Sun OS, Solaris, Linux....

 

간단히 다루어보고 천천히 개별 OS 에 대한 심도있는 내용을 중점적으로 다루도록 할 예정

 

'OS' 카테고리의 다른 글

CPU Scheduling  (0) 2022.03.26
프로세스 생명주기  (0) 2022.03.17
Thread 쓰레드  (0) 2022.02.27
Process  (0) 2022.02.23
System Structure & Program Execution  (0) 2022.02.05