전체 글

전체 글

    [OS/OSTEP] 31.threads-semaphore, 세마포어, 세마포어로 락 구현, 컨디션 변수로서의 세마포어, 생산자/소비자 문제, Dining Philosopher, 제마포어

    [OS/OSTEP] 31.threads-semaphore, 세마포어, 세마포어로 락 구현, 컨디션 변수로서의 세마포어, 생산자/소비자 문제, Dining Philosopher, 제마포어

    [OS/OSTEP] 30.threads-condition variable, 쓰레드 컨디션 변수, 컨디션 변수 두개, 쓰레드 동기화 문제, 생 30.threads-condition variable # 글을 시작하며 저번 포스팅까지는 락이라는 것이 무엇인지 알았고, lock() unlock()으로 단지 락을 사용해보기만 했고 그 락은 unlock()이 오면 리턴한다고만 알았던 것을 직 devforyou.tistory.com [OS/OSTEP] 30.threads-semaphore # 시작하며 저번시간에는 컨디션 변수에 대해서 공부했었다. 쓰레드가 동시에 실행됨에 따라서 어떠한 조건을 기다려야 했다. 동기화과정이 필요했는데 이럴때 컨디션 변수를 사용했었다. 컨디션 변수를 사용하여 기다려야하는 상황에서는 wai..

    [OS/OSTEP] 30.threads-condition variable, 쓰레드 컨디션 변수, 컨디션 변수 두개, 쓰레드 동기화 문제, 생산자/ 소비자, covering condition/broadcast,

    [OS/OSTEP] 30.threads-condition variable, 쓰레드 컨디션 변수, 컨디션 변수 두개, 쓰레드 동기화 문제, 생산자/ 소비자, covering condition/broadcast,

    30.threads-condition variable # 글을 시작하며 저번 포스팅까지는 락이라는 것이 무엇인지 알았고, lock() unlock()으로 단지 락을 사용해보기만 했고 그 락은 unlock()이 오면 리턴한다고만 알았던 것을 직접 어떻게 구현되는지를 살펴보았다. 그 과정에서 spin방식을 사용해 while루프를 돌며 계속해서 Test-And-Set과 같은 Atomic한 기법으로 락을 소유할 수 있는지를 검사하는 과정을 거쳐서 구현할 수 있다는 사실을 알았다. 그러나 그 사실에서 CPU낭비가 생기기 때문에 lock이 올때까지 대기할 수 있도록 하는 방법에 대해서 고민해봤고, 첫째로는 yiled()를 사용해서 락을 가질 수 없다는 즉시 CPU를 반환하는 방법을 알 수 있었다. 둘째는 락이 없다..

    [OS/OSTEP] 28.threads-locks , 쓰레드 Spin, Test-And-Set, Comapre-And-Swap, futex, wait, park, unpark,

    [OS/OSTEP] 28.threads-locks , 쓰레드 Spin, Test-And-Set, Comapre-And-Swap, futex, wait, park, unpark,

    [OS/OSTEP] 27.threads-api , 쓰레드 락(lock), 컨디션 변수, 쓰레드 사용시 주의할점 [OS/OSTEP] 26.threads-intro - 쓰레드 개념 정리와 필요성, atomic, 전역변수 지난 게시글. [OS/OSTEP] 22.vm-beyondphys-policy : 메모리 교체 정책 - LRU,FIFO,OPTIMAL,RANDOM,CLOCK #16 22.vm-beyondphys-poli.. devforyou.tistory.com [OS/OSTEP] 28.threads-locks # 시작하며 저번 챕터에서는 락을 일단 사용해봤다. 락을 사용하면서 임계영역에 대해 동시접근을 막는 상호배제가 가능한 것을 알았고, 임계영역에 대한 접근을 할때 락을 가지지 못하면 리턴하지 않는다 했다..

    [OS/OSTEP] 27.threads-api , 쓰레드 락(lock), 컨디션 변수, 쓰레드 사용시 주의할점

    [OS/OSTEP] 27.threads-api , 쓰레드 락(lock), 컨디션 변수, 쓰레드 사용시 주의할점

    [OS/OSTEP] 26.threads-intro - 쓰레드 개념 정리와 필요성, atomic, 전역변수 지난 게시글. [OS/OSTEP] 22.vm-beyondphys-policy : 메모리 교체 정책 - LRU,FIFO,OPTIMAL,RANDOM,CLOCK #16 22.vm-beyondphys-policy # 시작하며 교체 정책의 핵심은 내보내도 될만한 페이지를 어떤 방식으로.. devforyou.tistory.com [OS/OSTEP] 27.threads-api # 시작하며 저번 챕터에서는 쓰레드에대한 전반적인 개념과 쓰레드가 어떻게 형성되고 사용되는지, 또 락은 무엇인지에 대한 간단한 개념을 배웠다. 이번장에서 또한 락, 컨디션 변수에 대해서 짚고 넘어간다. # 쓰레드 생성 - 쓰레드는 어떻게 구..

    [OS/OSTEP] 26.threads-intro - 쓰레드 개념 정리와 필요성, atomic, 전역변수

    [OS/OSTEP] 26.threads-intro - 쓰레드 개념 정리와 필요성, atomic, 전역변수

    지난 게시글. [OS/OSTEP] 22.vm-beyondphys-policy : 메모리 교체 정책 - LRU,FIFO,OPTIMAL,RANDOM,CLOCK #16 22.vm-beyondphys-policy # 시작하며 교체 정책의 핵심은 내보내도 될만한 페이지를 어떤 방식으로 선택하는 것인가이다. 생각보다 특이한 케이스들이 존재하고 공부하닥 랜덤이라는 방식이 어쩌면 devforyou.tistory.com [OS/OSTEP] 26.threads-intro # 글을 시작하며 얼마전에 운영체제 중간고사를 위해서 벼락치기로 글들을 정리했던 기억이 있다. 그때 3일만에 17개 글을쓰며 개념을 정리해나갔는데 큰 도움은 됐지만 정신적으로 너무 힘들었다. 그래서 이번에는 조금 시간적 여유를 두고 정리하려고 한다. 저번..