[운영체제 아주 쉬운 세 가지 이야기 - Virtualization] 7. CPU Scheduling
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이제 프로세스를 싱행시키기 위한 문맥 교환 등의 저수준 기법에 대해서는 분명하게 이해할 수 있기에 운영체제 스케줄러의 고수준 정책에 관해서는 이해가 필요하다. 이제부터는 다양한 스케줄링 정책(scheduling policy)을 소개...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이제 프로세스를 싱행시키기 위한 문맥 교환 등의 저수준 기법에 대해서는 분명하게 이해할 수 있기에 운영체제 스케줄러의 고수준 정책에 관해서는 이해가 필요하다. 이제부터는 다양한 스케줄링 정책(scheduling policy)을 소개...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 CPU를 가상화하기 위해서 운영체제는 여러 작업들이 동시에 실행되는 것처럼 보이도록 물리적인 CPU를 공유한다. 기본적인 아이디어는 간단하다. 한 프로세스를 잠시 동안 실행하고 다른 프로세스를 또 잠깐 실행하고, 이런 식으로 계속해...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이번 절에서는 운영체제 API와 사용법을 포함한 시스템의 실제적인 측면을 다루고, Unix 시스템의 프로세스 생성에 관해 논의힌다. Unix는 프로세스를 생성하기 위해 fork()와 exec() 시스템 콜을 사용한다. wait()은...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 이 장에는 운영체제가 제공하는 핵심 개념 중 하나인 프로세스(Process)에 대해 논의한다. 일반적인 프로세스는 실행 중인 프로그램으로 정의한다. 프로그램 자체는 생명이 없는 존재이다. 프로그램은 디스크 상에 존재하며 실행을 위한...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 운영체제 개요 프로그램이 실행될 때 어떤 일이 일어날까? 프로그램은 매우 단순한 일을 한다. 명령어를 실행한다 프로세서는 명령어를 초당 수십억 번 반입(fetch)하고 해석(decode)하고 (즉, 무슨 명령어인지 파악하고)...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 싱글톤(Singleton) 패턴은 디자인 패턴 중, 사용하기 간단하고 많이 사용되는 패턴 중 하나이다. 싱글톤 패턴을 따르는 클래스는 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 향상된 입력 시스템으로 왼쪽 마우스 클릭 시 이벤트를 C++ 코드로 구현해보았다. 간단하게 필요한 과정을 정리하자면, 헤더 파일 작성 생성자 SetupPlayerInputComponent() BeginPlay()...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 리플렉션 리플렉션은 프로그램이 실행 시간에 자기 자신을 조사하는 기능이다. 자기 자신이란 클래스, 구조체, 함수, 멤버 변수, 열거형 등을 의미한다 즉, 런타임에 객체의 타입을 보는 것을 포함해 구조와 행동까지 수정하는 것이 리플렉션...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 연결 리스트란 각 노드가 데이터와 다음 노드를 가리키는 포인터로 구성된 선형 자료구조이다. 배열과 달리, 메모리에 연속적으로 저장되지 않고, 동적으로 크기를 조절할 수 있다. 또한 배열은 인덱스로 O(1) 시간에 접근 가능하지만...
이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 C++의 algorithm 헤더에는 탐색 관련된 유용한 함수들이 많이 있다. 대표적으로 선형 탐색을 수행하는 find와 비 선형 탐색을 수행하는 binary_search, lower_bound, upper_bound가 있다. ...