[Docker] 도커(Docker)가 컨테이너(Container) 방식을 사용하는 이유는?
·
카테고리 없음
1. Docker란? Docker는 "컨테이너(Container)" 기반의 가상화 기술을 말한다.이때, 컨테이너는 리눅스 가상화 기술로, 호스트의 커널을 공유하며, 격리된 환경에서 실행하기 때문에 가볍고 빠르다.가상머신 방식과 컨테이너 방식을 비교해 보자.2. 가상머신(VM) 방식가상머신은 집 한 채를 새로 짓는 것과 같다. 손님이 오면(애플리케이션을 실행하려면) 새 집을 짓고, 전기나 수도나 가구(운영체제, 라이브러리, 애플리케이션)를 전부 준비해야 한다. VirtualBox나 VMware로 Ubuntu VM을 설치한다고 하면, 윈도우(호스트 OS) 위에 Ubuntu(게스트 OS)를 통째로 올린다.이때, CPU, 메모리, 디스크를 모두 분리해서 따로 할당하기 때문에 즉, 무겁지만, 완전히 독립적인 환..
[운영체제및실습]12주차 2회차: 페이징
·
운영체제및실습
이번시간에는 페이징에 대해서 학습하도록 하겠습니다.가변동적 메모리 할당 방법인 다이내믹 파티션 방법을 복습해봅시다. 이것은 fixed partioning이라는 고정 분할 방법에서 발전된 것이라고 했습니다.가변 동적 메모리 할당을 할 떄 문제점은 extenal fragmentation이라고 해서 프로세스에 속하지 않은 작은 메모리 조각들이 생기는 문제들이었습니다. 6M, 4M, 6M 빈공간이 있는데 이 공간을 합치면 16M가 됩니다. 그런데 조각나 있어서 16M 프로세스를 집어넣을 공간이 없습니다. 합치면 되지만 지금은 쪼개져 있어서 문제입니다. 이런 문제를 해결하기 위해 컴팩션이라고 해서 프로세스를 이동시켜서 빈 메모리를 한 곳으로 모으면 되는데, 시간이 많이 걸려서 좋은 방법이 아닙니다. 흩어져 있는 ..
[운영체제및실습] 12주차 1회차 : Address binding
·
운영체제및실습
이 시간에는 Address binding에 대해서 알아보겠습니다.1. Binding of Instructions and Data to Memory이전 절에서 logical address를 physical address로 주소변환해야 한다고 했습니다.Address traslation시켜야 하는데 다른 말로 Address binding이라고 합니다. 이 struction 안에는 다른 인스트럭션이나 변수의 주소가 등장합니다. 인스트럭션을 실행 하려면, 변수의 경우, variable값을 가져와서 연산을 해야 하서 몇 번 주소에 있는지 조사해야 합니다. 다른 인스트럭션의 주소도 있는데, 어떤 위치로 jump해라 할때, 그 대상 주소를 인스트럭션 안에 집어넣습니다. 이와 같이 인스트럭션 안에 있는 주소는 모두 lo..
[운영체제및실습] 11주차 5회차: Virtual Address Space
·
운영체제및실습
메모리 관리를 본격적으로 학습하기 전에 메모리 주소에 대해 알아야 합니다.1. Types of Memory Addresses 메모리 주소 종류에는 Physical address, Logical address, Virtual address라는 것이 있습니다.먼저 Physical address는 메모리 유닛 하드웨어가 이용하는 주소입니다. 메모리 유닛은 피지컬 어드레스가 주어지면, 그 주소에 나타나는 메모리 반도체 칩에서 바이트 위치를 찾아갈 수 있습니다. 메모리 유닛이 보고 이용하는 물리적인 주소라는 의미이며, 다른 이름으로는 absolute address라고 부릅니다. 쉽게 말하면, 메모리 반도체를 끼웠을 때, 반도체가 1기가면, 0번부터 1기가-1까지 번호가 매겨지는데 그 번호가 Physical add..
[운영체제및실습] 11주차 4회차: 메모리 파티셔닝
·
운영체제및실습
이번 시간에는 고정 분할식 메모리 할당 방법과 가변 동적 메모리 할당 방법, 버디 시스템 할당 방법에 대해 알아보겠습니다. 1. Memory Partitioning : Fixed Partitioning먼저 고정 할당 방법입니다. Fixed Paritioning은 한정된 크기의 메인 메모리 공간을 여러 프로세스에게 분배해주는 방법으로써 운영체제 개발자들이 제일 먼저 생각해낸 방법입니다. 운영체제는 메인 메모리를 미리 일정한 크기의 조각인 파티션으로 분할해 놓고, 사용자 프로세스가 생성하면(프로그램 실행), 메모리 공간 중 빈 것을 프로세스에게 집어넣는 방법입니다. 이 그림을 보면, 왼쪽처럼 메인 메모리가 있는데, 메인 메모리 윗부분에 OS가 들어가 있고, 사용자 프로세스가 들어갈 수 있는 부분을 일정한 크..
[운영체제및실습] 11주차 3회차: 메모리관리 개요
·
운영체제및실습
Memory ManagementWhat is Memory Management? (오늘)Memory PartitioningAddress BindingPagingSegmentation 이 시간부터는 운영체제가 컴퓨터 메인 메모리를 관리하는 방법을 알아보겠습니다.메모리 관리 방법 이해를 위해 기본 지식 학습 후 바인딩을 알아볼 것이며, 여러가지 할당방법(고정, 가변 등)에 대해 알아볼 것입니다. 5가지 메모리 관리 방법을 알아보고 동작 방식을 알아봅시다. 이 중에서 Memory Partitioning에서 알아볼 고정 분할식과 가변 동적식은 요즘 잘 사용 안 하지만, 이것을 이해해야 요즘 것을 이해할 수 있습니다.1. Memory Management Requirements1-1. 메모리 관리 기능 2가지1. M..