CS 2

리눅스 컨테이너, Docker (도커)

리눅스 컨테이너는 운영체제 수준의 가상화 기술로 리눅스 커널을 공유하면서 프로세스를 격리된 환경에서 실행하는 기술입니다. 하드웨어를 가상화하는 가상 머신과 달리 커널을 공유하는 방식이기 때문에 실행 속도가 빠르고, 성능 상의 손실이 거의 없습니다. Docker (도커) - 리눅스 컨테이너 기술을 자동화해 쉽게 사용할 수 있게 하는 오픈소스 프로젝트 Docker를 사용하면 컨테이너를 매우 가벼운 모듈식 가상 머신처럼 다룰 수 있습니다. 또한 컨테이너를 구축, 배포, 복사하고 한 환경에서 다른 환경으로 이동하는 등 유연하게 사용할 수 있어, 애플리케이션을 클라우드에 최적화하도록 지원합니다. => 리눅스를 가상머신에 설치하지 않고 도커에 이미지(어떤 애플리케이션을 실행하기 위한 환경(파일들의 집합))로 빠르게..

CS 2021.06.02

멀티 프로세스와 멀티 스레드

멀티 프로세스 다수의 프로세스를 생성하여 각각 따로 처리하는 것 데이터 영역, 힙, 스택 모두 비공유로 처리 -> Context Switching이 데이터 영역, 힙영역에 대해서도 일어나야하므로 더많은 시간이 소요됨 멀티 스레드 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력을 향상시키는 것을 멀티쓰레딩이라고 한다. 데이터 영역, 힙, 스택 중 스택 영역만 비공유로 처리 -> 프로세스를 생성하는데 드는 자원과 시간을 최소화하고 데이터 영역과 힙 영역에서의 빠른 데이터 교환과 작업을 할 수 있게 함 Context Switching( 컨텍스드 스위칭 - 문맥교환 ) CPU가 어떤 프로세스를 실행하고 있는 상태에서 인터럽트에 의해 다음 우선 순..

CS 2021.06.01