일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 알고리즘
- 그리디 알고리즘
- 그리디알고리즘
- 다이나믹 프로그래밍
- 타입 객체
- 파일시스템 구현
- 쓰레드
- directx
- 락
- 동적계획법
- 스케줄링
- Direct12
- 백준
- 영속성
- 프로그래머스
- 병행성
- 운영체제
- 멀티프로세서
- 멀티쓰레드
- 렌더링 파이프라인
- I/O장치
- 디자인패턴
- 컨디션 변수
- 자료구조
- 병행성 관련 오류
- DirectX 12
- DirectX12
- 다이나믹프로그래밍
- OS
- codility
Archives
- Today
- Total
목록Test-And-Set (1)
기록공간

위에서 살펴봤듯 멀티 프로세서에서는 인터럽트를 중지시키는 것이 의미가 없기 때문에 시스템 설계자들은 락 지원을 위한 하드웨어 설계를 하기 시작했다. 오늘날 모든 시스템들은 하드웨어 지원 기능을 가지고 있으며, 단일 CPU 시스템 또한 이런 기능이 존재한다. Test-And-Set (Atomic Exchange) 하드웨어 기법 중 가장 기본은 Test-And-Set 명령어 또는 원자적 교체(atomic exchange) 라고 불리는 기법이다. Test-And-Set 명령어를 사용하면 락을 간단하게 구현할 수 있다. ptr이 가리키는 이전 값을 old로 받아 리턴(TEST)한다. 동시에 그 값을 new로 바꾼다(SET). 이 동작은 원자적으로 수행되어야 하며 중간에 인터럽트 될 수 없다. 때문에, 소프트웨어..
OS
2020. 4. 24. 23:26