Svn에 커밋이 올라온다면 디스코드 알림이 오게 해보자
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 목적 SVN을 사용하다보니 팀 환경에서 커밋이 언제 발생했는지 실시간으로 알 수 없고, 어떤 작업자가 어떤 파일을 수정했는지 확인하기도 어려웠다. 그렇다보니 변경 사항이 공유되지 않아, 작업 중 충돌이 발생하거나 중복 작업이 생기는 문...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 목적 SVN을 사용하다보니 팀 환경에서 커밋이 언제 발생했는지 실시간으로 알 수 없고, 어떤 작업자가 어떤 파일을 수정했는지 확인하기도 어려웠다. 그렇다보니 변경 사항이 공유되지 않아, 작업 중 충돌이 발생하거나 중복 작업이 생기는 문...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 완전 공정 스케줄러(Completely Fair Scheduler, CFS)는 리눅스 2.6.23(2007년 10월) 릴리스에 병합된 스케줄러이다. 리눅스 6.6(2023년)에선 EEVDF(Earliest Eligible Virtu...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에서는 멀티프로세서 스케줄링(multiprocessor scheduling)의 기본을 소개한다. 이 주제는 어느정도 기초를 벗어났기에 병행성(concurrency)에 대한 이해가 필요하다. 고사양 컴퓨터에만 존재했던 멀티프로...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에서는 비례 배분(proportional share) 스케줄러 혹은, 공정 배분(fair share) 이라고도 하는 유형의 스케줄러에 대해 다루도록 하겠다. 비례 배분의 개념은 반환 시간이나 응답 시간을 최적화하는 대신 스케줄...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에서는 멀티 레벨 피드백 큐(Multi-Level Feedback Queue, MLFQ)로 알려진 가장 유명한 스케줄링 기법에 대해 논의한다. MLFQ 스케줄러는 1962년년에 최초로 소개되었고, 최고의 영예인 Turing A...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이제 프로세스를 싱행시키기 위한 문맥 교환 등의 저수준 기법에 대해서는 분명하게 이해할 수 있기에 운영체제 스케줄러의 고수준 정책에 관해서는 이해가 필요하다. 이제부터는 다양한 스케줄링 정책(scheduling policy)을 소개...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 CPU를 가상화하기 위해서 운영체제는 여러 작업들이 동시에 실행되는 것처럼 보이도록 물리적인 CPU를 공유한다. 기본적인 아이디어는 간단하다. 한 프로세스를 잠시 동안 실행하고 다른 프로세스를 또 잠깐 실행하고, 이런 식으로 계속해...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이번 절에서는 운영체제 API와 사용법을 포함한 시스템의 실제적인 측면을 다루고, Unix 시스템의 프로세스 생성에 관해 논의힌다. Unix는 프로세스를 생성하기 위해 fork()와 exec() 시스템 콜을 사용한다. wait()은...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에는 운영체제가 제공하는 핵심 개념 중 하나인 프로세스(Process)에 대해 논의한다. 일반적인 프로세스는 실행 중인 프로그램으로 정의한다. 프로그램 자체는 생명이 없는 존재이다. 프로그램은 디스크 상에 존재하며 실행을 위한...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 운영체제 개요 프로그램이 실행될 때 어떤 일이 일어날까? 프로그램은 매우 단순한 일을 한다. 명령어를 실행한다 프로세서는 명령어를 초당 수십억 번 반입(fetch)하고 해석(decode)하고 (즉, 무슨 명령어인지 파악하고)...