본문 바로가기
CS

운영체제란?

by Hasky96 2022. 4. 20.

운영체제 (OS : Operating System)

  • 컴퓨터 시스템의 자원들을 효율적으로 관리
  • 사용자가 편리하고 효과적으로 컴퓨터를 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
  • 사용자와 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어
  • 다른 응용프로그램의 유용한 작업을 할 수 있도록 환경제공
  • 프로세스, 기억장치, 주변장치, 파일 등을 관리하는 기능을 수행
  • ex) Linux, WIndows, MacOs, Unix, MS-DOS 등

 

목적

  1. 처리 능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
  2. 반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
  3. 사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
  4. 신뢰도( Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도

 

기능

  • 프로세서, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리한다.
  • 자원의 스케줄링 기능 => 효율적인 관리
  • 사용자와 시스템 간의 편리한 인터페이스를 제공한다.
  • 하드웨어, 네트워크 관리 및 제어
  • 데이터 및 자원을 관리 및 공유 기능

Windows

* 1990년대 Microsoft 사가 개발한 운영체제

특징 설명
그래픽 사용자
인터페이스(GUI)
키보드로 명령어 직접 입력 X
마우스로 아이콘이나 메뉴를 선택하여 모든 작업 수행하는 방식
선점형 멀티태스킹
(Preemptive Multi-Tasking)
운영체제가 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행중 문제가 밸생하면 해당
프로그램 강제 종료시스템 자원 반환
PnP
(Plug and Play)
시스템에 프린터나 사운드 카드 등의 하드웨어를 설치하면 필요한 시스템 환경 자동 구성
OLE
(Object Linking
and Embedding)
여러 프로그램에서 작성된 문자나 그림 등의 개체를 현재 작성중인 문서에 자유롭게
연결 or 삽입하여 편집
255자의 긴 파일명  \ / * ? " <> | 를 제외한 모든 문자 및 공백을 사용하여 최대 255자까지
파일 이름을 지정할 수 있음
Single-User 시스템 컴퓨터 한 대를 한사람만이 독점해서 사용

Unix

* 1960년대 AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제

  • 시분한 시스템 (Time Sharing System)을 위해 설계된 대화식 운영체제
  • 소스가 공개된 개방형 시스템(Open System)
  • 대부분이 C 언어로 작성 => 이식성 높음 / 장치, 프로세스 간의 호환성 높음
  • Multi-User, Multi-Tasking을 지원
  • 트리(Tree) 구조의 파일 시스템

구성

구성 요소 설명
커널(kernel) 하드웨어 보호, 프로그램과 하드웨어 간의 인터페이스 역할
UNIX의 가장 핵심적인 부분
프로세스, 기억장치 , 파일, 입출력, 프로세스간 통신 관리
데이터 전송 및 변환
쉘(Shell) 명령어 해석기
사용자의 명령어를 인식
프로그램 호출, 명령 수행
시스템과 사용자 간의 인터페이스
종류 : Bourne Shell, C Shell, Korn Shell
유틸리티 프로그램
(Utility Program)
일반 사용자가 작성한 응용프로그램 처리
DOS에서의 외부 명령어에 해당
종류 : 에디터, 컴파일러, 인터프리터, 디버거 등

Linux

* 1991년 리누스 토발즈(Linus Torvalds) UNIX를 기반으로 개발한 운영체제

  • 프로그램 소스 코드가 무료로 공개 => 프로그래머가 원하는 기능 추가 가능
  • 다양한 플랫폼에 설치 가능 / 재배포 가능
  • UNIX와 완벽한 호환

MacOS

* 1980년대 Apple 사가 UNIX를 기반으로 개발한 운영체제

  • iMac과 MacBook 등 애플 사에서 생산하는 제품에서만 사용가능
  • 드라이버 설치 및 install과 uninstall의 과정이 단순

Android

 * Google 사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제

  • 모든 코드가 공개된 개방형 소프트웨어
  • Java 와 Kotlin으로 어플리케이션 작성
  • 스마트폰

IOS

* Apple 사에서 개발한 유닉스 기반의 모바일 운영체제

  • 애플제품에만 탑재
  • iPhone, iPod, iPad