Cgroups

cgroups(control groups의 약자)는 프로세스들의 자원의 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제한하고 격리시키는 리눅스 커널 기능이다.

구글의 엔지니어들이 2006년에 이 기능에 대한 작업에 착수하였고 당시 이름은 "프로세스 컨테이너"(process container)였다. 2007년 말에 리눅스 커널 문맥에서 "컨테이너"라는 용어의 의미가 여러 개이므로 혼란을 방지하기 위해 이름이 "컨트롤 그룹"(control groups)으로 변경되었으며, 컨트롤 그룹 기능은 2008년 1월에 출시된 커널 버전 2.6.24에 리눅스 커널 메인라인으로 병합되었다. 그 뒤로 개발자들은 수많은 새로운 기능과 컨트롤러들을 추가해오고 있는데, 이를테면 kernfs 지원, 방화벽, 통합된 계층구조를 포함한다.

 채택 
다양한 프로젝트들이 cgroups를 기반으로 사용하고 있으며, 여기에는 코어OS, 도커, 하둡, Jelastic, Kubernetes, lmctfy (Let Me Contain That For You), LXC (리눅스 컨테이너/LinuX Containers), systemd, Mesos, Mesosphere, HTCondor 등이 있으며 메인라인 리눅스 커널에 채택된지 3년이 지난 2010년 11월에 레드햇 엔터프라이즈 리눅스 6과 같은 주요 리눅스 배포판에도 또한 채택되었다.https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/pdf/6.0_Release_Notes/Red_Hat_Enterprise_Linux-6-6.0_Release_Notes-en-US.pdf

 같이 보기 
 운영 체제 수준 가상화
 프로세스 그룹

 각주 

 외부 링크 
 Linux kernel documentation on cgroups
 Linux kernel Namespaces and cgroups by Rami Rosen
 Namespaces and cgroups, the basis of Linux containers (including cgroups v2), slides of a talk by Rami Rosen, Netdev 1.1, Seville, Spain, 2016
 Understanding the new control groups API, LWN.net, by Rami Rosen, March 2016
 Large-scale cluster management at Google with Borg, April 2015, by Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune and John Wilkes
 Job Objects, similar feature on Windows

분류:리눅스 커널 인터페이스
분류:리눅스 커널 특징
분류:운영체제 보안