계산 환경
운영체제가 동작하는 다양한 환경을 포스팅한다.
전통적 계산
전통적이라고 말하는 비교적 가까운 과거 몇년전의 전형적인 사무실 환경은 네트워크에 연결된 PC들과 파일 그리고 프린트 서비스를 제공하는 서버들로 구성되었다.
원격 접근은 흔하지 않으며 이동성은 랩탑을 사용했으며 많은 회사에서 대형 컴퓨터의 터미널로 연결하여 사용했다.
또한 배치 또는 대화형 방식으로 시스템이 이루어져있었으며
배치 시스템은 파일이나 다른 데이터 출처로부터 미리 정해진 입력을 가지고 대형작업을 처리하고
대화형 방식 시스템은 다중 사용자들이 이용하기 위해 타이머와 스케줄링 알고리즘을 이용해 시스템 시간을 나누었다.
다시말해 각 사용자마다 시간대를 나누어 계산작업을 할 수 있었다는 이야기이다.
오늘날에는 네트워크 환경의 발전과 인터넷 연결속도 성장, 좋은 하드웨어 성능으로 많은 부분이 빨라지고 공유도도 높아졌다.
이동형 컴퓨팅
이동형 컴퓨팅은 휴대용 스마트폰과 태블릿 pc의 계산을 말한다.
이동이 가능하고 가벼운 물리적 특징이 있다. 예전에 비해 많은 성장을 거듭해 웹 브라우징 이외 음악, 비디오, 사진, 통화 등 다양한 분야와 범위에서 성장이 계속되고 있다. 또한 데스크탑에서 할 수 없는 가속도계(핸드폰을 흔들때 감지되는 센서) 를 통해서 증강현실의 개발이 가능하기도 한다.
휴대장치는 전형적으로 온라인 서비스에 접근하기 위해 IEEE 표준 802.11 무선 또는 휴대전화 데이터망을 사용한다.
대표적인 운영체제는 Apple iOS 와 Google Andriod 가 있다.
분산시스템
분산 시스템은 물리적으로 떨어져 있는 기종이 다른 컴퓨터들의 집합이다.
분산 시스템에 속한 컴퓨터들은 네트워크로 연결되어 있으며 자원을 공유하여 계산 속도와 기능, 데이터 가용성 및 신뢰성을 향상시킨다. 컴퓨터가 네트워킹으로 접근하는 방법으로 FTP와 NFS 를 예를 들 수 있다.
참고로 분산시스템의 기능들은 당연하지만 네트워킹에 의존하고 있다. 네트워크는 각각 특성마다 다르겠지만 기본적으로 TCP/IP 가 가장 일반적인 네트워크 프로토콜로서 인터넷 기본 구조를 제공한다. 따라서 모든 범용 운영체제를 포함하여 대부분의 운영체제는 TCP/IP를 지원한다.
네트워크는 노드간의 거리에 의해 유형이 결정이 되는데 몇가지를 예시와 같이 소개한다.
- 로컬 에어리어 네트워크(LAN) : 한 방, 한 층, 한 건물에 연결
- 와이드 에어리어 네트워크(WAN) : 건물, 도시, 국가 사이를 연결 ex) 다국적 기업이 전세계의 사무실을 연결할때
- 메트로폴리탄 에어리어 네트워크(MAN) : 한 도시내의 건물들을 연결
- 개인 에어리어 네트워크(PAN) : 블루투스 같이 짧은 거리에서 전화기와 코드리스 이어폰의 연결 등
클라이언트 서버 계산(Client-Server Computing)
PC의 발전에 따라 중앙식 시스템의 터미널로 하던 작업을 PC의 웹 인터페이스를 통한 처리로 대체되고 있다.
그 결과로써 중앙식 시스템은 클라이언트 시스템에 의해 생성되는 요구를 만족시키기 위한 서버 시스템으로 동작한다.
이런 분산 시스템은 클라이언트-서버 시스템이라고 부르며 구조로는 다음과 같다.
피어 간 계산
분산시스템의 다른 구조로 피어간 시스템 (peer-topeer, P2P)이다.
클라이언트와 서버가 서로 구별되지 않는 특징이 있으며 시스템 상의 모든 노드가 피어로 간주되고 각 피어는 서비스를 요청하느냐 제공하느냐에 따라서 클라이언트 및 서버로 동작한다.
클라이언트-서버 에 비해서 서버의 병목현상에 수월하다는 장점이 있다.
가상화
운영체제가 다른 운영체제 내에서 하나의 응용처럼 실행할 수 있는 것을 말한다.
쉽게 표현하면 가상화란 에뮬레이션를 포함하는 스프트웨어 종류의 일원이라는 것이다.
가상화는 한 기계를 위해 작성된 전체의 운영체제를 다른 기계에서 실행되도록 확장 할 수 있다.
Apple 랩톱에서 Windows 게스트로 windows 운영체제를 실행하는게 가능하고
다수의 운영체제를 위한 소프트웨어를 개발하는 회사는 하나의 물리서버를 이용해 모든 운영체제를 실행하여 개발, 테스팅, 디버깅도 할 수 있다. 따라서 테이터 센터에서는 가상화가 계산 환경을 실행하고 관리하는 데 일반적인 방법이 되었다.
클라우드 컴퓨팅
클라우드 컴퓨팅이란 계산, 저장장치는 물론 응용조차도 네트워크를 통한 서비스로 제공하는 계산 유형이다.
어떤 면에서는 가상화의 기능을 기반으로 사용하기에 클라우드 컴퓨팅을 가상화의 논리적 확장이라고 이야기하기도 한다.
클라우드 컴퓨팅의 유형이다.
- 공공 클라우드 - 돈낸 사람(혹은 무료)은 누구나 사용가능한 클라우드
- 사유 클라우드 - 자기 회사에서 사용하고 운영하는 클라우드
- 혼합형 클라우드 - 공공과 사유 모두 포함하는 클라우드
- 소프트웨어 서비스(SaaS) - 인터넷을 통해 사용가능한 하나 이상의 응용(워드나 엑셀 같은)
- 플랫폼 서비스(Paas) - 인터넷을 통해 응용이 사용할 수 있도록 준비된 소프트웨어 스택(데이터베이스 서버 같은거)
- 기간시설 서비스(Iaas) - 인터넷을 통해 사용 가능한 서버나 저장장치 (생산 데이터의 백업 복사본을 만들기 위한 저장장치 같은거)
실시간 내장형 시스템(Real-Time Embedded Systems)
현재 가장 유행하는 컴퓨터 형태라고 한다.
먼저 내장형 시스템이란 무엇인가?
내장형 시스템이란 특정한 작업만을 위한 장치들의 운영체제이며 이 운영체제는 제한된 기능만 제공하는 형태이다.
장치란 자동차 엔진, 공장용로봇의 VCR, 전자레인지 같은 것을 말한다.
이러한 장치들이 웹을 만나면 보일러, 조명, 경보시스템을 통합관리할 수 있는, IOT 같은것을 할 수 있게 된다.
이 내장형 시스템은 언제나 실시간 운영체제를 실행한다는 특징이 있다.
실시간 시스템에 의해 데이터를 활용하여 과학 실험 제어, 의학 영상시스템, 산업 제어, 자동차 엔진 연료 분사 시스템 등을 할 수 있다.
운영체제에 실시간 기능을 구현하는데 필요한 스케줄링 설비를 고려해야하며 이것은 다음시간에..