Futex

컴퓨터 과학에서 futex(fast userspace mutex, 빠른 사용자 공간 상호 배제, 퓨텍스)는 개발자가 기본적인 잠금을 구현하기 위해 사용되거나 세마포어, POSIX 뮤텍스, 조건 변수와 같은 상위 계층의 잠금 추상화를 위한 빌딩 블록으로서 쓰일 수 있는 리눅스 커널에서 제공하는 시스템 호출이다.

동작

futex의 기본 동작들은 WAIT, WAKE라는 두 개의 특정 동작에만 기반한다. 특정 버전의 리눅스 커널에만 의존하는 일부 futex 구현체들은 특정 목적을 위해 동작들이 몇 개 더 많은 경우도 있다.[1]

  • WAIT (addr, val)
addr 주소에 저장된 값이 val인지 확인하며, 만일 그러할 경우 현재의 스레드를 sleep 상태로 둔다.
  • WAKE (addr, val)
addr 주소에서 대기 중인 스레드의 수만큼 val을 깨운다.

같이 보기

  • 동기화 (컴퓨터 과학)

각주

  1. Futexes Are Tricky, Red Hat (v 1.6, 2011).
  • v
  • t
  • e
조직
리눅스 커널
지원
기술
디버깅
시작 프로세스
  • vmlinux
  • System.map
  • dracut
  • initrd
  • initramfs
ABIs
APIs
사용자 공간
FS, 데몬
래퍼 라이브러리
커널 부분
시스템 호출 인터페이스
커널 내부
  • ALSA
  • DRI
  • Video4Linux
  • New API
  • 크립토API
리눅스 커널
구성요소
변종들
가상화
리눅스 채택
리눅스의 사용 범위
  • 데스크톱
  • 임베디드
  • 클라이언트:
    • LTSP
    • Thinstation
  • 서버:
채택자
  • 리눅스 채택자들 목록
  • 리눅스의 상용 소프트웨어
이 글은 컴퓨터 과학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다.