034 가상 운영체제와 가상 머신

백종석·2022년 6월 7일
0
post-thumbnail

운영체제란?

간단한 프로그램과 마찬가지로 그저 하나의 프로그램이고, 그런 프로그램과 같은 종류의 프로그래밍 언어로 작성되며 대부분 C나 C++로 구현

  • 초기 운영체제는 메모리도 작고 작업이 단순했기 때문에 크기도 작았다.
  • 초창기의 운영체제는 한번에 한 개의 프로그램만 실행했으므로 스와핑이 제한적으로 이루어졌다.
  • 지금은 운영체제가 매우 크고 복잡한데, 그만큼 다양하고 복잡한 일을 처리하기 때문이다.
  • 많은 운영체제의 조상 격인 유닉스 운영체제는 1975년 두 명이 작성했고 C와 어셈블리 언어 9000행으로 이루어져 있었다.
  • 오늘날 리눅스는 1천만 행이 훨씬 넘고, 수십 년간 수천 명이 작업한 결과물이다.
  • 윈도우 10은 정확한 규모가 공개된 적은 없지만 5천만 행정도로 추측된다.
    → 운영체자가 어떤 구성 요소를 포함해야 하는지에 대한 관점도 유닉스 시절과 차이가 있다.
  • 운영체제는 단지 프로그램이므로 이론상으로는 모든 사람이 직접 작성할 수 있다.
  • 하드웨어 개발 시 원래 의도했던 것과는 다른 운영체제를 실행하기도 한다.
    • 멀티 부트multiple boot 기능은 애플에서도 부트 캠프Boot Camp라는 이름으로 지원하는데, 맥OS 대신 윈도우를 실행하면서 시스템을 시작할 수 있다.
  • 심지어 다른 운영체제의 관리하에 특정한 운영체제를 가상 운영체제virtual operating system로 실행 가능하다.

    • VM웨어VMware, 버추얼박스VirtualBox, 젠Xen 같은 가상 운영체제 프로그램은 호스트 OS에서 어떤 OS를 게스트 OS로 실행할 수 있게 해준다.

  • 위 그림은 호스느 OS에서 가상 OS가 어떻게 실행되는지를 도식화한 것으로, 게스트 OS는 호스트 OS 입장에서 보면 보통의 애플리케이션이다.

가상 머신 Virtual Machine

컴퓨터인 것처럼 작동하는 프로그램
소프트웨어로만 존재하지만 마치 하드웨어인 것처럼 작동 방식을 모방하는 프로그램

가상 머신의 예시

  • 자바 스크립트 프로그램을 해석하기 위한 가상 머신
  • 자바 프로그램용 가상 머신
  • 안드로이드용 가상 머신

→ VM이 사용되는 이유는 물리적 장비를 만드는 것보다 프로그램을 작성해서 배포하는 것이 더 쉽고 유연

클라우드 컴퓨팅 Cloud Computing

  • 저장 공간과 네트워크 대역폭이 출분한 물리적 컴퓨터를 대량으로 보유하고, 그 자원을 이용하여 이용자에게 컴퓨팅 성능을 제공
  • 아마존 웹 서비스Amazon Web Service, 즉 AWS는 최대 클라우드 컴퓨팅 제공 업체이다.
  • 마이크로소프트 애저Microsoft Azure구글 클라우드 플랫폼Google Cloud Platform이 그 뒤를 잇는다.
    • 이러한 업체들 모두 고객의 작업량 변화에 맞게 서비스의 성능과 용량을 늘리거나 줄여 제공한다.
    • 개별 사용자가 사용 규모를 즉각 확대하거나 축소할 수 있을 만큼 충분한 컴퓨팅 자원을 보유하고 있기에 가능하다.
  • 대표적인 예로 넷플릭스 같은 대형 업체를 비롯해서 많은 회사가 자체 서버를 운영하는 것보다 클라우드 컴퓨팅을 활용하는데, 서비스의 규모가 클수록 클라우드 컴퓨팅을 이용하는 것이 경제적, 적응성, HR 필요성 감소 등에 유리하기 때문이다.
profile
항해중인 우당탕탕 코린이

0개의 댓글