sometimes referred to as a fair-share scheduler. Proportional-share is based around a simple concept: Instead of optimizing for turn-around or response time, a scheduler might instead try to guarantee that each job obtain a certain percentage of CPU time. lottery scheduling: ← Proportional Share의 좋은 예 The basic idea is quite simple: 다음 실행될 프로세스를 추첨을 통해 결정한다. 더 자주 수행되어야하는 프로세스는 당첨 기회를 더 많이 준다. lo..
지난 시간에 배운 이야기 핵심: CPU를 어떻게 Virtualization을 하느냐? 방법: Time-Sharing을 한다. 조그만한 Time slot을 나눈다 → 각각의 프로세스에 Time slot을 하나씩 배정한다 Process가 Time Slot을 다 쓰고 안 내놓는 가능성이 있었다. ⇒ 초창기 Cooperative Approach 방식 이 방식은 Prcocess가 자신의 load를 다 끝날 때까지 CPU를 손에 잡고 있거나 처리 시간이 너무 오래 걸린다면 알아서 CPU를 내놓을 것이라고 기대했었다. Non-Cooperative Approach: 하드웨어 타이머를 사용하기로함 하드웨어 타이머가 완료되었을 때 찾아가야하는 트랩핸들러를 부팅 과정에서 기록을 해놓는다. 그리고 타이머가 완료되면은 운영체제..
༼ つ ◕_◕ ༽つ Process 배울 때 Virtualization of CPU = mechanism + policy란 사실을 우리는 배웠다.🤔 이제 그 중 mechanism에 대해 배운다. 상당히 혼미하다. 😣! Mechanism: Limited Direct Execution Introduction By time sharing the CPU, virtualization is achieved. THEN.. Performance: how can we implement virtualization without adding excessive overhead to the system? Control: how can we run process efficiently while retaining control ov..
운영체제 동작 이해 핵심 키워드: USER MODE || KERNEL MODE, SYSTEM CALL 시작하실때 교수님의 말씀: 운영체제는 User,kenel 모드로 나누어져 있으며 kenel 모드엔 user가 접근하지 못한다. 또한 kenel 모드에서 user모드가 시작된다. user는 system의 기능이 사용하고 싶을 때에는 즉, 하드웨어를 사용하고 싶을 때 system call를 사용한다. control은 kenel딴으로 넘어가며 system call이 끝나면 결과 완료를 user에게 넘겨준다. In this interlude, we discuss process creation in Unix systems. Unix system Unix presents one of the most intrigui..
참고 자료[운영체제] 프로세스가 뭐지? OS_Chap04.pdf Process: running program Program : itself is a lifeless thing. Just sits there on the disk. a bunch of instructions and maybe some static data *con-text switch to stop running one program and start running another *scheduling policy are algorithms for making some kind of decision within the OS. How To Provide The Illusion Of Many CPUS? ⇒ Virtualizing. By runni..
1. 재귀 함수는 while문과 같다. 2. 인간이 이해하기 쉽다고 한다. 카더라 통신으로 들은 내용이지만 프로그래밍 언어를 배우는 당사자인 난... 재귀가 어렵다 왜 재귀가 어렵다고 느껴졌을까? 코드가 어떻게 흘러가는지 상상하기가 힘들었다. 반복문의 경우 변수를 통해서 값이 어떻게 흘러가는지 보이기 때문에 상상하기가 수월했고 익숙했다. 하지만 재귀는... 재귀 함수에 대해 익숙해지려면 함수형 프로그래밍 패러다임에서 살아봐야한다고 생각한다. 요즘 날 함수형 프로그래밍 패러다임 하나만 채용하여 사용하는 고급 언어를 쉽게 찾아볼 수 없기 때문에(C,C++,파이썬 등) LISP란 언어를 추천하고 싶지만, 다중 패러다임에서도 함수형 프로그래밍은 가능하니 일단 함수만 사용해보려고 노력해보자!! 재귀를 쓰다보면 자..
또 다른 프로젝트를 시작하게되었지만, 그것에 대한 글을 적지 못 한다. 상당히 아쉽지만, 새로운 사실을 알게 되어 적어본다. 디자이너가 디자인을 피그마, 스케치 등에서 하시고, 이를 바로 코드로 가져오는 제플린이 있다는 사실이었다. 피그마에서 확장 프로그램을 설치하여 제플린으로 연동이 가능했다. 또한 피그마가 저번달인가 이번달인가...업데이트를 했나보다. 그래서 팀플의 경우 3페이지 이상 사용하지 못한다. 큰 타격인가 싶긴하지만 조금 섭섭하다... 이전에 팀플을 만든 경우 페이지 무한 생성은 가능했다..
교수님께서 설명을 반대로 하셨다면 이해가 더 쉽지 않았을까?란 생각이 들고, 질문글에서 글씨체로 인해 y랑 v 오타난거로 꼽주는 교수덕분에 화나서 혼자 공부해서 적고 있다. 처음 이렇게 설명하시는데 좀 억지스럽다. 왜냐면 DP 알고리즘은 진짜 어렵기때문이다. (DP 알고리즘은 패턴 찾기랑 비슷하다고 생각한다. 그래서 어렵다.) 이 알고리즘은 이전에 나오는 다익스트라 알고리즘과 목적이 동일하다. 검색하면 나오는 결론은 음수에서 최단 경로를 사용하는 알고리즘 정도이니 답답하다. 정말 음수가 나오는 상황에서 쓰려고 이런 알고리즘을 만들었을까? 전혀 아닌 것 같은데... 일단 왜 만들었는지를 중점으로 네트워크 측면에서 상상한 뇌피셜을 바탕으로 적어본다. 먼저 생각해봐야하는 점은 왜 이런 식이 나왔고, 어떤 형태..