책, 세미나, 강연/도서

[운영체제]

JiWonSon 2022. 12. 10. 08:54

1. 가상화

1) 가상화란?

컴퓨터 시스템에서 물리, 논리적 자원을 추상화하여 실제와 같은 자원으로 사용 및 관리가 가능한 기술이다.

 

2) 가상머신이란?

 

물리적인 하드웨어를 가상화하여 하나의 하드웨어에서 여러 대의 컴퓨터가 구동되도록 하는 것이다.

 

3) 가상머신 방식 2가지

 I. 호스트OS형

호스트OS상에 가상화 소프트웨어를 설치해서 이용한다. 

장점: 가상의 하드웨어를 에뮬레이팅하기 때문에 호스트 운영체제에 크게 제약사항이 없다.

단점: OS위에 OS가 얹히는 방식이라 오버헤드 발생 가능성이 있다.

ex) VMware Workstation, Micorosoft Virtual PC, VirtualBox

 

II. 하이퍼바이저형

하드웨어상에 직접 소프트웨어를 실행하고 그 위에 가상 머신을 동작시키는 기술이다.

장점: 별도의 Host OS가 없어 오버헤드가 적고, 하드웨어를 직접 관리하여 효율적 리소스 활용 가능

단점: 머신에 대한 관리기능이 없어서 별도 관리를 위한 컴퓨터가 필요함.

ex) VMware ESX Server(전가상화), MS Hyper-v(전가상화), Citrix XenServer(반가상화)

 

i) 전가상화 

하드웨어를 완전히 가상화 하는 방식이다. 

마치, 하이퍼바이저가 하드웨어인 것 처럼 동작함

 

ii) 반가상화

하드웨어를 완전히 가상화 하지 않는 방식이다.

전가상화의 단점인 성능저하 문제를 해결하기 위해 하이퍼콜이라는 인터페이스를 통해 하이퍼바이저에게 직접 요청을 날릴 수 있다.

 

iii) 컨테이너 가상화

컨테이너에는 게스트OS나 가상하드웨어를 포함하지 않고 어플레이션 동작을 위한 라이브러리와 어플리케이션 등으로 구성되어 이를 개별 서버처럼 사용가능하다.

 

장점: 컨테이너 가상화는 오버헤드가 적어 가볍고 빠름

ex) Docker, OpenVZ, LXC, Linux VServer 등

2. 분산 시스템

 네트워크상에 분산되어 있는 컴퓨터가 작업을 처리하고 그 내용이나 결과를 서로 공유하는 체계

 

- 특징

1. 장애가 발생해도 시스템 복구 쉬움 (여러대에 분산되어 있어서)

2. 네트워크로 연결된 기기가 여러 자원을 공유할 수 있음

3. 데이터를 분산하여 처리해 연산 속도 향상

4. 작업 분배를 통해 여러 기기가 작업을 나누어 처리 가능

ex)  FTP(File Transfer Protocol) NFS(Network File System)

 

3. 커널 자료구조

- Linked List 

- Tree : Binaray Search tree(이진 탐색트리), Balanced Binaray Search(균형 이진 탐색 트리)

특징: 트리의 층은 부모 노드와 아래 자식 노드 사이의 거리를 의미하는데, 자료를 탐색하는데 트리의 층 개수만큼 원소를 탐색하는 시간이 늘어난다. 따라서 최대한 층이 작은 균형 이진 탐색 트리를 사용해야 탐색 시간이 줄어드는 특징이 있다.

- Hash Function : 검색할 키 값을 주면 검색됨 

특징: 함수형태라 어떤 자료든 빠르게 탐색, 해시충돌 -> 링크드 리스트로 해결

 

4. Cloud Computing

1) 클라우드 컴퓨팅이란?

 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합해 제공하는 기술

 

2) 가상화와 클라우드 컴퓨팅의 차이

 가상화는 기술이고, 클라우드 컴퓨팅은 방법론이다.

 

 

 i) 가상화

  • 가상화는 우리가 쓰던 VMware나 Virtualbox와 같이 단일한 물리 하드웨어 시스템에서 여러 환경이나 자원을 생성할 수 있는 기술입니다.
  • 하이퍼바이저 라고 불리는 소프트웨어가 하드웨어에 직접 연결되며 가상 머신을 만들 수 있습니다.
  • 이러한 가상 머신은 하이퍼바이저의 자원을 적절하게 배분받은 후 사용합니다.

 

ii) 클라우드 컴퓨팅

  • 클라우드 컴퓨팅은 네트워크 전체에서 컴퓨팅, 네트워크, 스토리지 인프라 자원, 서비스, 플랫폼, 애플리케이션을 사용자에게 제공하는 접근 방식입니다.

 

3) 클라우드 컴퓨팅 종류 3가지

 

 i) IaaS - 개발사에게 제공되는 물리적 자원을 가상화

 ii) PaaS - 개발사에게 제공되는 플랫폼을 가상화

 iii) SaaS - 고객에게 제공되는 소프트웨어를 가상화

 

 

@참고자료

https://dkswnkk.tistory.com/388

https://hongong.hanbit.co.kr/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EB%9E%80-%EC%BB%A4%EB%84%90%EC%9D%98-%EA%B0%9C%EB%85%90-%EC%9D%91%EC%9A%A9-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%8B%A4%ED%96%89%EC%9D%84-%EC%9C%84%ED%95%9C/

 

[OS] 분산시스템(Distributed Systems) 서론

분산 시스템(Distributed Systems) 분산 시스템은 물리적으로 떨어져 있는 이기종(하나 이상의 프로세서 또는 코어를 사용하는 시스템) 컴퓨터들의 집합입니다. 분산 시스템의 컴퓨터들은 사용자가

dkswnkk.tistory.com

 

https://wnsgml972.github.io/network/2018/08/14/network_cloud-computing/

'책, 세미나, 강연 > 도서' 카테고리의 다른 글

[기타] Nginx란  (0) 2022.05.12