•Compter Science/Operating System
[OS/OSTEP] 40.file-VSFS(Very Simple File System), 파일 시스템의 구조와 동작 방식, 폴더 및 파일의 아이노드(inode)
[OS/OSTEP] 39.interlude-file-directory, 파일과 디렉토리에 필요한 기본적인 시스템콜 API, open(),write() ,read( [OS/OSTEP] 32.threads-bugs, DeadLock(교착상태), 원자성 위반(atomicity violation), 순서 위반(order violation), [OS/OSTEP] 31.threads-semaphore, 세마포어, 세마포어로 락 구현, 컨디션 변수로서의 세마포.. devforyou.tistory.com [OS/OSTEP] 40.file-VSFS(Very Simple File System) # 시작하며 파일 시스템에는 다양한 종류가 있지만, VSFS(Very-Simple-File-System)이라는 말 그대로 매우 간..
[OS/OSTEP] 39.interlude-file-directory, 파일과 디렉토리에 필요한 기본적인 시스템콜 API, open(),write() ,read(),mv,rm,mkdir,하드링크,심볼릭링크, mount
[OS/OSTEP] 32.threads-bugs, DeadLock(교착상태), 원자성 위반(atomicity violation), 순서 위반(order violation), [OS/OSTEP] 31.threads-semaphore, 세마포어, 세마포어로 락 구현, 컨디션 변수로서의 세마포어, 생산자/소 [OS/OSTEP] 30.threads-condition variable, 쓰레드 컨디션 변수, 컨디션 변수 두개, 쓰레드 동기화 문.. devforyou.tistory.com [OS/OSTEP] 39.interlude-file-directory # 시작하며 교재의 순서대로라면, 쓰레드가 끝나고 새로운 단원이 시작하고 36챕터부터 새로운 단원이 시작된다. 그러나 현재 수업중인 교수님께서는 39 -> 40 ..
[OS/OSTEP] 32.threads-bugs, DeadLock(교착상태), 원자성 위반(atomicity violation), 순서 위반(order violation),
[OS/OSTEP] 31.threads-semaphore, 세마포어, 세마포어로 락 구현, 컨디션 변수로서의 세마포어, 생산자/소 [OS/OSTEP] 30.threads-condition variable, 쓰레드 컨디션 변수, 컨디션 변수 두개, 쓰레드 동기화 문제, 생 30.threads-condition variable # 글을 시작하며 저번 포스팅까지는 락이라는 것이 무엇인지 알았고.. devforyou.tistory.com [OS/OSTEP] 32.threads-bugs, # 시작하며 어느덧 쓰레드 단원의 마지막 포스팅이다. 글을 쓰며 정리하기 전까지만 해도 둥둥 떠다니는 개념들이 난잡하게 섞여서 정리되지 않았는데 지금은 어느정도 정리가 된 듯 하다. 시험 범위는 이 다음 챕터인 파일까지이기 때문..
[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,
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] 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 # 시작하며 저번 챕터에서는 락을 일단 사용해봤다. 락을 사용하면서 임계영역에 대해 동시접근을 막는 상호배제가 가능한 것을 알았고, 임계영역에 대한 접근을 할때 락을 가지지 못하면 리턴하지 않는다 했다..