위로 아래

OS

OS (Operation System), 운영체제

  1. 사용자와 하드웨어 간의 상호작용을 위해 사용자 인터페이스(User Interface)를 제공하는 시스템 소프트웨어
  2. 프로그래밍 인터페이스(응용 프로그램이 동작할 수 있는 환경) 제공
  3. 커널 : 운영체제의 핵심적인 기능을 모아놓은 것
  4. 인터페이스 : 커널에서 사용자 명령을 전달하고 결과를 사용자에게 출력해주는 것
  5. 시스템 호출 (시스템 콜) : 프로그램이나 사용자로부터 컴퓨터 자원을 보호하기 위해 사용자가 커널에 직접 접근하지 못하도록 종업원 역할을 수행
  6. 드라이버 : 커널과 하드웨어 사이의 연결
  7. 하드웨어 추상 계층 (HAL, Hardware Abstraction Layer) : 새로운 하드웨어가 추가되어도 소프트웨어의 수정 없이 사용할 수 있도록 돕는 계층

 

운영체제의 목적

  1. 처리능력 (Throughput) 향상 : 일정 시간 동안 처리하는 일의 양 향상
  2. 반환 시간 (Turnaround Time) 최소화 : 작업 요청 후 결과 반환까지 걸리는 시간 최소화
  3. 신뢰도 (Reliability) 향상 : 주어진 요청을 정확하게 처리하는 신뢰도 향상
  4. 사용 가능도 (Availability) 향상 : 이용할 수 있는 시스템의 자원 정도의 향상

 

운영체제의 역할

  1. 사용자가 하드웨어를 관리하기 편하게 해준다
  2. 한정된 하드웨어 자원을 다수의 이용자가 공유할 수 있게 해준다
  3. 응용 프로그램의 실행이 편리하도록 시스템 호출(system call)을 제공해준다
  4. 오류가 발생해도 시스템이 중단되지 않도록 오류 복구 기능을 제공해준다
  5. 파일 관리 및 데이터베이스 기능을 제공한다
  6. 원격 컴퓨터와 연결할 수 있도록 네트워크 기능을 제공한다
  7. 사용자에게 편리한 사용자 인터페이스를 제공한다

 

 

 

 


운영체제의 종류

PC 및 서버

  1. Windows (윈도우) : 1975년 빌게이츠와 폴 앨런이 설립한 microsoft사에서 제작한 GUI 기반 개인용 컴퓨터 OS
  2. MacOS (맥) : 스티브 잡스와 스티브 워즈니악이 설립한 apple사에서 제작한 유닉스/다윈 기반 Mac 기기 전용 운영체제
  3. Linux (리눅스) : 핀란드의 헬싱키 대학 학생이었던 리누스 토발즈가 자신의 개인 컴퓨터에서 호환되는 유닉스 운영체제를 개발
  4. Unix (유닉스) : 1969년 미국의 AT&T사의 벨 연구소에서 켄 톰슨과 데니스 리치에 의해 개발된 교육 및 연구개발용 운영체제

 

모바일 및 임베디드

  1. Android (안드로이드) : 2005년에 구글에서 안드로이드사를 인수한 후 2007년에 스마트폰 및 모바일 기기를 위해 무료로 공개한 운영체제
  2. iOS, watchOS, iPadOS, tvOS : 애플이 제작한 iPhone, iPod Touch, iPad, Apple Watch를 구동하기 위한 운영체제. macOS는 PC용이라 모바일에는 적합하지 않아 새로 개발했다.
  3. Tizen (타이젠) : 인텔과 삼성의 주도로 리눅스 재단, MeeGo 개발자가 합류해 개발한 리눅스 기반 오픈소스 웨어러블, IVI(차량용 인포테인먼트) 운영체제
  4. Embedded Linux (임베디드 리눅스) : 영국의 라즈베리파이 재단에서 만든 라즈베리파이 용 데비안 리눅스 기반 운영체제 '라즈비안' 등

 

IoT

  1. Linux : Android Things (안드로이드 기반 사물 인터넷 플랫폼), Ubuntu Core (보안성을 강화하고 가볍고 안정적으로 도악하도록 우분투를 IoT에 최적화한 운영체제)
  2. Windows IoT : 윈도우 임베디드 운영체제를 IoT에 맞게 최적화한 윈도우 계열 운영체제
  3. RTOS (실시간 운영체제) : FreeRTOS (마이크로컨트롤러용 오픈소스 운영체제), VxWorks (실시간 운영체제), QNX (임베디드에서 주로 사용하는 유닉스 기반 실시간 상업용 운영체제)
  4. 경량 OS : Contiki (한정된 메모리, 저전력, 무선통신에 초점을 둔 오픈소스 네트워크 운영체제), TinyOS (UC  버클리 사 네트워크형 무료 운영체제), RIOT (IoT를 겨냥한 실시간 운영체제. 리눅스가 접근하기 어려운 8, 16, 32bit 플랫폼을 타겟)