일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 마블 다이어그램
- js
- CLI
- RxJava
- CPU Scheduling
- Round Robin
- js 개발자라면 알아야하는 핵심 컨셉
- OS
- 디프만
- 원격 저장소
- Cold Publisher
- OOAD
- spring
- 에프랩
- 큐시즘
- Hot Publisher
- Depromeet
- 파이썬
- Hot Publish
- Git
- flab
- time slice
- 생활코딩
- github
- spring boot
- 멘토링 후기
- Observable
- 건국대학교
- 버전관리
- 자바스크립트
- Today
- Total
목록Development/OS (4)
글쓰는 개발자
현대의 대부분의 OS들은 Round-Robin Algorithm의 변형 형태의 Algorithm을 통해 프로세스들에게 CPU를 공평하게 분배하려 한다. [OS] Virtualization #2.CPU Scheduling 대부분의 프로세스들이 I/O 작업을 더 많이 필요로 하는 I/O-bound job이긴 하지만, 여전히 CPU의 처리를 더 많이 필요로 하는 CPU-bound job 또한 있기 마련이다. I/O-bound job은 Response time이 중요하기 때문에 짧은 Time Slice를 가지는 Round-Robin이 꽤나 효과적인 반면, CPU-bound job은 Turnaround time이 더 중시되어서 상대적으로 긴 Time Slice를 가지는 Round-Robin algorithm이 더..
이전 포스팅인 [OS] Virtualization #1.Limited direct execution에서 OS가 다른 프로세스들보다 상위 권한을 가지고, 그렇게 주어진 권한을 통해 각종 컴퓨터 자원들을 프로세스 사이에서 적당하게 분배하는 것이 어떻게 구현되는지 간략한 수준으로 소개하였다. 이번 포스팅에서는 상위 권한을 가지게 된 OS가 각 프로세스들에게 CPU를 할당하는 정책인 CPU Scheduling 정책에 대해 소개하려 한다. INDEX Workload Assumptions Scheduling Metrics FIFO(First In, First Out) SJF(Shortest Job First) STCF(Shortest time to completion first) RR(Round-Robin) 1. ..
OS의 역할은 부족한 컴퓨터 자원을 효율적으로 분배하는 것이다. 한 프로세스가 CPU를 너무 오래 점유하면, OS는 프로세스로부터 CPU를 뺏어 다른 프로세스에 할당한다. 어떠한 데이터가 자주 사용되지 않는 경우, OS는 해당 데이터를 CPU로부터 더 먼 곳에 배치하고 자주 사용되는 데이터를 CPU에 더 가까이 배치하여 실행 속도를 향상시킨다. 또한 어떠한 유저가 프로그램 내에서 하드웨어를 제어하는 명령을 실행할 때에, 이것의 핸들링을 담당하기도 한다. 여기까지 OS의 역할을 아는 것은 좋은데, 다음과 같은 의문을 제기할 수 있다. '프로세스가 실행 중이라는 것은 CPU가 프로세스에 할당되어 있다는 뜻이고, OS 또한 작업 수행을 위해 CPU 할당을 받아야 하는 시스템 소프트웨어인데 어떻게 중간에 OS가..
이번 학기에는 컴퓨터공학과의 핵심 과목 중 하나인 운영체제를 수강하였다. 운영체제를 수강하면서, 모든 파트에서 컴퓨터가 어떠한 방식으로 돌아가는지 배울 수 있어 정말 많이 배운 수업이었다. 기본적으로 운영체제의 역할은 '자원 관리'에 그 초점이 있다고 생각한다. 컴퓨터의 운용에 있어 물리적으로 충분한 자원이란 존재하지 않는다. 아무리 고성능 컴퓨터를 사용한다 할지라도 무한정의 프로세스를 허용하지는 않으므로, 컴퓨터의 자원을 효율적으로 활용하여야 한다. 컴퓨터 하드웨어의 구조적 효율을 통해 일정량의 자원 관리를 꾀할 수는 있겠으나, 하드웨어 단독으로 그것을 해결하는 데에는 분명한 한계가 있다. 따라서 이 문제를 소프트웨어와의 상호 작용을 통해 해결하여야 하는데, 이때 등장하는 시스템 소프트웨어가 바로 운영..