JJM
Operating System

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

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

Operating System

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

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

Operating System

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

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

Singleton Pattern

싱글톤 패턴 Singleton Pattern

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 싱글톤(Singleton) 패턴은 디자인 패턴 중, 사용하기 간단하고 많이 사용되는 패턴 중 하나이다. 싱글톤 패턴을 따르는 클래스는 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성...

Reflection

언리얼 리플렉션 시스템 Reflection

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 리플렉션 리플렉션은 프로그램이 실행 시간에 자기 자신을 조사하는 기능이다. 자기 자신이란 클래스, 구조체, 함수, 멤버 변수, 열거형 등을 의미한다 즉, 런타임에 객체의 타입을 보는 것을 포함해 구조와 행동까지 수정하는 것이 리플렉션...

LinkedList

연결리스트 LinkedList

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 연결 리스트란 각 노드가 데이터와 다음 노드를 가리키는 포인터로 구성된 선형 자료구조이다. 배열과 달리, 메모리에 연속적으로 저장되지 않고, 동적으로 크기를 조절할 수 있다. 또한 배열은 인덱스로 O(1) 시간에 접근 가능하지만...

Dynamic Programming

최장 증가 부분 수열 Longest Increasing Subsequence (LIS)

이 글은 제 개인적인 공부를 위해 작성한 글입니다. 틀린 내용이 있을 수 있고, 피드백은 환영합니다. 개요 최장 증가 부분 수열(LIS)이란? 어떠한 수열이 주어질 때, 그 수열에서 일부 원소를 뽑아내어 새로 만든 수열을 부분 수열이라고 하며, 이 수열이 오름차순이면 증가하는 부분 수열이 된다. 그러므로 어떤 수열에서 만들 수 있는 ...