상위 질문
타임라인
채팅
관점
읽기-수정-쓰기
위키백과, 무료 백과사전
Remove ads
읽기-수정-쓰기(read–modify–write)는 컴퓨터 과학에서 메모리 위치를 읽고 여기에 새 값을 쓰는 원자적 작업 클래스(예: 검사와 지정, 페치와 추가, 비교와 교환)이다. 완전히 새로운 값이나 이전 값의 일부 기능을 동시에 사용한다. 이러한 작업은 다중 스레드 응용 프로그램에서 경쟁 조건을 방지한다. 일반적으로 뮤텍스나 세마포어를 구현하는 데 사용된다. 이러한 원자적 작업은 비차단 동기화에도 많이 사용된다.
모리스 헐리히(1991)는 다음과 같이 합의 수치를 기준으로 원자 작업의 순위를 매겼다.
- ∞: 메모리 간 이동과 교환, 증가된 대기열, 비교와 교환, 페치와 콘스, 고정 바이트, 로드 링크/스토어 컨디셔널(LL/SC)[1]
- 2n − 2: n-레지스터 할당
- 2: 검사와 지정, 스왑, 페치와 추가, 대기열, 스택
- 1: 원자적 읽기 및 원자적 쓰기
주어진 합의 번호가 필요한 작업을 아무리 많이 사용해도 합의 번호가 낮은 작업만으로 구현하는 것은 불가능하다.[2] 읽기-수정-쓰기 명령어는 입출력 장치에서 사용될 때 예상치 못한 결과를 낳는 경우가 많다. 쓰기 작업은 읽기 작업에서 액세스되는 동일한 내부 레지스터에 영향을 미치지 않을 수 있기 때문이다.[3]
이 용어는 원자적 읽기-수정-쓰기 시퀀스로 실제 쓰기 작업을 수행하는 RAID 레벨과도 연관되어 있다.[4] 이러한 RAID 수준에는 RAID 4, RAID 5 및 RAID 6이 포함된다.
Remove ads
같이 보기
각주
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads