League Of Legends - Link Select 'Lock' 태그의 글 목록
본문 바로가기
반응형

Lock3

[06주차] 멀티쓰레드 01 - 성능 향상 1) 프로그램 최적화 2) 멀티 코어 활용 → 멀티쓰레드 프로그래밍 필요 - 멀티쓰레드 : 하나의 프로그램이 여러 곳이 동시 다발적으로 실행됨 (병렬처리) - 병렬처리 : 하나의 작업을 여러 개의 context에서 동시에 수행 : context - CPU 실행 상태 (PC를 포함한 모든 레지스터 값) : 한 대의 컴퓨터 사용 → SMP(여러 개의 CPU), Multi-Core (여러 개의 Core) : CPU 한 개 속도는 너무 느리기에 사용하는 것 (프로그램 구조가 깔끔해지진 않음) : 발열 속도에 부딪친 클럭 속도 증가 - 프로세스와 쓰레드 1) 프로세스 : 실행 중인 프로그램 - 하나의 프로세스는 하나의 실행 파일에서 출발 2) 쓰레드 : 프로그램 실행 흐름 - 프로세스 실행 중 프로.. 2024. 4. 22.
[02주차] 멀티코어 HW & DataRace - 멀티쓰레드 프로그래밍 주요 사항  : 올바른 결과가 나와야 함 ( 무한루프에 빠지거나, 프로그램이 오류로 종류되면 안됨 ) : 이를 사용한 성능향상이 커야함 ( 적으면 멀티쓰레드를 쓰는 이유가 없음 ) : 멀쓰 프로그래밍은 하나의 프로그램을 나눠서 작성하는 것   - 위에서 틀린 결과가 나온 이유 : Data Race -> sum += 2 : 공유 메모리를 여러 쓰레드에서 읽고 쓰고, 이 순서에 따라 실행 결과가 예상과는 달라진다 : Data Race  ⇒ 복수의 쓰레드가 하나의 메모리에 동시에 접근 & 적어도 한 개의 write  : 읽고 - 더하고 - 쓰는 이 사이에 context switching이 일어나서 문제  (동시 접근 -> read, write) ─ 앞의 프.. 2024. 4. 18.
[04] 프로세스 동기화 - 동기화 (synchronization) : 동시다발적으로 실행되는 프롯헤스들은 실행 순서와 자원의 일관성을 보장해야 한다 : 프로세스 동기화 = 프로세스 사이의 수행 시기를 맞추는 것 : 수행 시기를 맞춘다 = 실행 순서 제어, 상호 배제 : 1) 동시에 접근해서 안되는 자원에 동시에 접근하지 못하도록 제어하는 것 : 2) 특정 조건이 만족되어야만 실행할 수 있는 상황에서 올바르게 실행되도록 하는 것 - 상호 배제(mutual exclusion)를 위한 동기화 : 상호 배제 = 공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리즘 - 공유 자원 (shared resource) : 공동의 자원(전역변수, 파일, 입출력장치 등), 이 공유 자원에 두 개 이상의 프로세스를 동시에 실행하면 문제.. 2024. 3. 24.
728x90
반응형