JJM
devlog

Svn에 커밋이 올라온다면 디스코드 알림이 오게 해보자

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 목적 SVN을 사용하다보니 팀 환경에서 커밋이 언제 발생했는지 실시간으로 알 수 없고, 어떤 작업자가 어떤 파일을 수정했는지 확인하기도 어려웠다. 그렇다보니 변경 사항이 공유되지 않아, 작업 중 충돌이 발생하거나 중복 작업이 생기는 문...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 10. Multi-CPU Scheduling

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에서는 멀티프로세서 스케줄링(multiprocessor scheduling)의 기본을 소개한다. 이 주제는 어느정도 기초를 벗어났기에 병행성(concurrency)에 대한 이해가 필요하다. 고사양 컴퓨터에만 존재했던 멀티프로...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 9. Lottery Scheduling

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에서는 비례 배분(proportional share) 스케줄러 혹은, 공정 배분(fair share) 이라고도 하는 유형의 스케줄러에 대해 다루도록 하겠다. 비례 배분의 개념은 반환 시간이나 응답 시간을 최적화하는 대신 스케줄...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 8. Multi-level Feedback

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에서는 멀티 레벨 피드백 큐(Multi-Level Feedback Queue, MLFQ)로 알려진 가장 유명한 스케줄링 기법에 대해 논의한다. MLFQ 스케줄러는 1962년년에 최초로 소개되었고, 최고의 영예인 Turing A...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 7. CPU Scheduling

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이제 프로세스를 싱행시키기 위한 문맥 교환 등의 저수준 기법에 대해서는 분명하게 이해할 수 있기에 운영체제 스케줄러의 고수준 정책에 관해서는 이해가 필요하다. 이제부터는 다양한 스케줄링 정책(scheduling policy)을 소개...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 6. Direct Execution

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 CPU를 가상화하기 위해서 운영체제는 여러 작업들이 동시에 실행되는 것처럼 보이도록 물리적인 CPU를 공유한다. 기본적인 아이디어는 간단하다. 한 프로세스를 잠시 동안 실행하고 다른 프로세스를 또 잠깐 실행하고, 이런 식으로 계속해...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 5. Process API

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이번 절에서는 운영체제 API와 사용법을 포함한 시스템의 실제적인 측면을 다루고, Unix 시스템의 프로세스 생성에 관해 논의힌다. Unix는 프로세스를 생성하기 위해 fork()와 exec() 시스템 콜을 사용한다. wait()은...

Operating System

[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 4. Processes

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에는 운영체제가 제공하는 핵심 개념 중 하나인 프로세스(Process)에 대해 논의한다. 일반적인 프로세스는 실행 중인 프로그램으로 정의한다. 프로그램 자체는 생명이 없는 존재이다. 프로그램은 디스크 상에 존재하며 실행을 위한...

Operating System

[운영체제 아주 쉬운 세 가지 이야기] 2. Introduction

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 운영체제 개요 프로그램이 실행될 때 어떤 일이 일어날까? 프로그램은 매우 단순한 일을 한다. 명령어를 실행한다 프로세서는 명령어를 초당 수십억 번 반입(fetch)하고 해석(decode)하고 (즉, 무슨 명령어인지 파악하고)...