공부하는 글른
-
Operating System: Memory Management (Chapter 7)공부하는 글른 2022. 3. 10. 11:44
Address Binding instruction과 data를 실제 memory의 어디로 보낼지 결정하는 것 세 곳에서 address binding을 할 수 있다 Compile time binding compile할 때 절대 불변의 address를 각 process에게 할당하는 방식 multiprogram이 가능해 지면서 이 방법을 사용하면 두가지 문제가 생긴다 문제1: 하나의 메모리 주소를 다른 process들이 공유할 수 없어서 효율이 떨어진다. 문제2: 공유를 허용하면, process0가 잠시 메모리에서 내려간 사이에, 그 주소를 process1이 사용하면, 나중에 process0는 올라오지 못한다. Load time binding 위의 문제를 해결하기 위해 등장한 방식 그러나 memory에 올라간..
-
Operating System: CPU Scheduling (Chapter 6)공부하는 글른 2022. 3. 8. 13:51
State Diagram - revisited Batch jobs: 수행 해야할 일을 list up하고, 한 번에 수행하는 것 New Queue: 새로운 process들이 모여있는 queue New Queue -> Ready Queue: Long-term scheduling이 New state process들 중 CPU를 줘도 괜찮은 것들을 선택 Ready Queue -> Processor: Short-term scheduling이 process에게 CPU를 주면 process가 열심히 돌아감 Processor -> Ready Queue: time-out에 의해서 process가 다 끝나지 않았지만, CPU를 반납하고 ready state로 돌아감 Processor -> Blocked Queue: 돌아가..
-
Operating System: Threads (Chapter 5)공부하는 글른 2022. 3. 8. 13:50
Threads란 CPU utilization의 기본 단위. 하나의 process에는 여러개의 thread가 존재하고, 이 thread들은 동일한 data를 공유한다. thread의 정체성은 register, stack이 결정한다. 각 thread가 실행하고 있는 function은 서로 다르다 = register가 서로 다르다 (= program counter가 서로 다르다) 각 thread가 실행하는 function call의 인자는 서로 다르다 = stack도 서로 다르다 Benefit of Threads Responsiveness: muti-threaded process(P0)에서 thread0가 I/O exception 발생시, 나머지 thread들이 일을 수행하기 때문에, P0는 time quan..
-
Operating System: Process (Chapter 4)공부하는 글른 2022. 3. 7. 18:44
논문자격 시험 때문에 갑자기 추억의(?) Operating System 공부 자료를 뒤적거리게 된 겸 핵심만 모아서 블로그에 정리 해 봅니다. (bullet point 위주의.. 상당히 간결한 정리가 될 것 같습니다) Process란 Process는 program을 담는 그릇이다. OS가 process를 관리한다면, process는 program을 관리한다. Process는 text section, stack, data section, heap으로 구성된다. text section: program code stack: local variable, parameter, return address 등을 저장 (유지되지 않음) data section: global variable, static variable ..
-
[github] 일종의 임시저장, git stash 사용법공부하는 글른 2021. 3. 11. 23:49
우리에게 git stash는 언제 필요한가? A 브랜치에서 작업을 해야 했는데, 실수로 master에서 작업을 진행해 버렸다! 혹은 A 브랜치에서 작업을 진행하던 중에 B 브랜치의 issue를 급하게 처리해야 할 경우, A 브랜치 내용을 임시저장하고 싶다! 이런 경우에 git stash를 사용할 수 있습니다. Git stash란? 완료하지 않은 작업을 stack에 임시로 저장하는 명령어로, git stash를 사용하여 commit하지 않고 후에 다시 가져와서 작업을 마무리할 수 있다. Step 1 : stash에 작업을 임시로 저장하기 git branch 명령어를 통해서 새로운 branch로 이동하려고 했으나, 아뿔싸! Your local changes to the following files would..
-
[Tensorboard] 설치 및 간단한 사용법 with Pytorch공부하는 글른 2020. 8. 28. 17:52
0. What is tensorboard? 텐서보드는 딥러닝 학습 시 시각화를 돕는 도구로, tensorflow 뿐 아니라 pytorch로 구현된 model에도 적용이 가능한 유용한 도구이다. Tensorboard에 관해서 Tensorflow 홈페이지에서 다양한 튜토리얼을 제공하고 있으니, 디테일한 정보와 활용에 대해서는 사이트를 참고하면 좋을듯 하다! 1. tensorboardX 설치하기 pytorch에서 tensorboard를 사용하기 위해서는 tensorboardX를 설치해야한다. 텐서보드X는 아래와같이 pip로 간단히 설치할 수 있다. pip install tensorboardX tensorflow를 설치해도 버전에 알맞게 tensorboard 설치된다고 하니, 기존에 tensorboard가 설치..
-
[tmux] 기초 사용법 정리공부하는 글른 2020. 8. 24. 15:59
nohup을 사용해서 서버의 background에서 작업을 돌렸었는데, 좀 불안정한 것 같아서 tmux 사용을 추천받았다. 처음 사용해보았지만, 상당히 간편한듯 해서, 명령어들을 짧게 정리하겠다. 0. What is tmux? tmux는 Terminal MUltipleXer로, 하나의 window에서 여러 개의 terminal session을 다루고자할 때 유용하다. 또한 terminal shell을 종료한 이후에도 작업을 유지하고 싶을 때도 많이 사용한다. 1. tmux 설치하기 맥에서는 아래 커맨드를 이용할 수 있고, $ brew install tmux Ubuntu에서는 아래 커맨드를 이용하여 설치할 수 있다. $ sudo apt install tmux 2. 간단한 사용법 1) 새로운 session ..
-
[github] 내가 자꾸 까먹어서 정리하는 git 사용법공부하는 글른 2020. 5. 5. 21:04
prepare git git에 올리고 싶은 directory로 이동해서 기존의 git management 정보를 지워준다. rm -rf .git initialize git git에 의해서 manage될 수 있도록, 해당 directory를 초기화 해준다. git init setup remote repository url git repository url을 directory와 연결(?) 하는 작업을 해준다. git remote add origin {repository url 주소} upload files to github 해당 directory에 있는 파일을 모두 github에 업로드 시킨다 . git add . git commit -m "first commit" git push origin master