초록꼬마의 devlog

개요

컴퓨터 사용 시 실제로 접하는 것 = 하드웨어(x) 그 하드웨어를 감싸고 제어하며 사용자-컴퓨터 시스템 간 매개체 역할을 하는 프로그램; 운영체제(o)

역할

  • 컴퓨터에서 하드웨어 동작을 지시하고 운영/제어(컴퓨터의 자원/하드웨어를 효율적으로 관리 + 응용 프로그램에 자원을 적시에 할당)하는 시스템 소프트웨어
  • 사용자와 컴퓨터 사이에서 중개자 역할을 하여, 사용자가 하드웨어를 효율적으로 운영/관리/사용하도록 돕는 소프트웨어

역사

  • 초기의 컴퓨터(단순한 연산 기능만 있는, 자동 계산기) 운영체제 없었음; 천공테이프/카드에 구멍 뚫어서 기록된 명령에 의해 조작 제어
  • 초창기 운영체제는 시스템 운영자(operator)가 일일이 스위치 조작해서 프로그램 하나하나 실행: 한 프로그램 작업이 끝나면 그 결과가 컴퓨터에서 나옴 -> 시스템 조작자가 또 다른 작업을 컴퓨터에 적재시킴
  • 컴퓨터 이용을 쉽게 하고 처리 능력을 높여 컴퓨터 이용의 효율성 제고를 위해 운영체제 개발됨
    • 1950년대: 프로그램과 데이터를 함께 모아 일괄처리 수행 가능
    • 1960년대: 다양한 주변장치 사용 + 여러 개의 작업을 주기억장치에 적재해서 실행(다중 프로그래밍 도입) + 시분할 시스템 도입(중앙처리장치가 아주 짧은 시간 단위로 여러 사용자의 작업을 번갈아 실행해서 각 작업이 동시에 진행되는 것처럼 보임)

종류

  • Microsoft Windows
  • UNIX
    • 다른 PC 운영체제에 비해 오래됨 + 다른 운영체제의 기반이 된 프로그램 <- 1970년대 벨 연구소에서 처음 개발, 소스코드 공개
    • UNIX를 탑재한 워크스테이션의 발매와 함께 보급됨
  • Linux
    • 1983년 리처드 스톨만이 UNIX와 유사한 공개 운영체제 개발을 위해 GNU 프로젝트 시작
      • 소프트웨어 상업화에 반대, 소스코드 공유, 자유로운 사용과 배포 등 주장
      • 현재 Free Software Foundation(FSF)이라는 이름으로 활동
    • 1991년 Linus TORVALDS가 Linux kernel을 작성해서 발표
      • UNIX(값비싼 대형 기종에서 작동하던 운영체제)를 개인용 컴퓨터에서도 작동할 수 있게 만든 운영체제(의 가장 핵심적인 역할(하드웨어 제어, 응용프로그램과의 상호작용 제공)을 담당하는 부분/kernel)
    • 보통 Linux는 Linux kernel을 사용한 운영체제(Linux 배포판)를 의미
    • GNU 프로젝트의 free software 이념에 입각하여 GNU GPL(general public licence)에 따라 인터넷을 통해 무료 배포 -> 프로그램 소스코드 공개 -> 프로그래머가 원하는 대로 기능 추가 가능
    • 슬렉웨어, 레드햇, 데비안, 우분투, 페도라 등 여러 가지 배포판으로 개발되어 사용 + 구글의 Android도 Linux를 기반으로 해서 만들어진 운영체제
  • OS X
    • Apple 매킨토시 컴퓨터에 사용되는 운영체제
    • UNIX를 기반으로 개발된 운영체제