Cgroups

cgroups
원저자Paul Menage, Rohit Seth
개발자kernel.org (Tejun Heo et al.), freedesktop.org
발표일2007년
프로그래밍 언어C
운영 체제리눅스
종류시스템 소프트웨어
라이선스GPLLGPL
웹사이트www.kernel.org/doc/Documentation/cgroup-v1/ and www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/

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

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

채택

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

같이 보기

각주

  1. Jonathan Corbet (2007년 5월 29일). “Process containers”. LWN.net. 
  2. Jonathan Corbet (2007년 10월 29일). “Notes from a container”. LWN.net. 2015년 4월 14일에 확인함. The original 'containers' name was considered to be too generic – this code is an important part of a container solution, but it's far from the whole thing. So containers have now been renamed 'control groups' (or 'cgroups') and merged for 2.6.24. 
  3. “cgroup: convert to kernfs”. 2014년 1월 28일. 
  4. “netfilter: x_tables: lightweight process control group matching”. 23 April 2014. 24 April 2014에 원본 문서에서 보존된 문서. 
  5. “cgroup: prepare for the default unified hierarchy”. 2014년 3월 13일. 
  6. “Mesosphere to Bring Google’s Kubernetes to Mesos”. Mesosphere.io. 2014년 7월 10일. 2015년 9월 6일에 원본 문서에서 보존된 문서. 2014년 7월 13일에 확인함. 
  7. 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

외부 링크