Blake Woo

리눅스 - 프로세스 스케줄링

프로세스 스케줄링 1. 개요 대부분의 운영체제가 그러하듯 리눅스 역시 시분할 처리를 통해 멀티태스킹을 구현한다. 시분할 처리란 cpu 동작시간이란 유한한 자원을 특정 시간만큼 쪼개어 각 프로세스에 할당하는 것이다. 이 cpu를 어떤 프로세스에 얼마나 오랫동안 할당 할 것인지 결정하는 방법론이 필요한데 이러한 것을 프로세스 스케줄링이라 한다. 이...

리눅스 - 프로세스 관리

프로세스 관리 1. 프로세스의 개요 프로세스는 실행중인 프로그램이다. 조금 더 정확히 말하자면 프로그램 코드를 실행하면서 생기는 모든 결과물이라고 할 수 있다. 할당된 메모리, 사용중인 파일, 프로세서의 상태 등 모든 자원을 포괄하는 내용으로 프로그램 코드만을 말하지는 않는다. 실행중인 스레드는 프로세스 내부에서 동작하는 객체이다. 각 실행중인...

리눅스 파고 들기 - 개요

리눅스 파고들기 1. 개요 가상화와 시스템 개발에 대해 공부하기 위해서 LINUX 커널을 공부할 예정이다. 큰 구조에 대한 공부부터 시작해 세부 구조까지 타고 들어갈 생각이다. 아무래도 어려운 부분이니만큼 매일 업데이트 되긴 힘들것 같으나 최대한 되는데로 업데이트 해볼 생각이다. 해당 포스팅을 진행하는데 참고할 책은 “리눅스 커널 심층분석”이라...

컴파일러 - 컴파일러의 개요

컴파일러 1. 프로그래밍 언어 어떤 일을 컴퓨터로 처리하기 위해서 일련의 과정을 기술할 때 사용되는 언어를 말한다. 이런 프로그래밍 언어는 저급 언어와 고급 언어로 나뉠 수 있다. 1) 저급 언어 모든 컴퓨터 구조에 관한 지식을 요구하며 프로그래머의 생각을 자연스럽게 표현할 수 있는 언어 구조를 갖추고 있지 못한 언어 자기 자신에 대한 고...

컴퓨터 구조 - CPU 구조 - 레지스터

Register 산술적/논리적 연산이나 정보 해석, 전송 등을 할 수 있는 일정 길이의 정보를 저장하는 중앙 처리 장치(CPU) 내의 기억 장치. 저장 용량에는 제한되어 있으나 주기억 장치에 비해서 접근 시간이 빠르고, 체계적인 특징이 있다. 컴퓨터에는 산술 및 논리 연산의 결과를 임시로 기억하는 누산기(accumulator), 기억 주소나 장치의 주...

컴퓨터 구조 - 기본적인 논리회로 - 조합회로 및 순차회로

기본적인 조합회로 및 순차회로 이전에 포스팅했던 논리 게이트들을 조합하여 여러 회로를 만들 수 있다. 수를 더하는 회로부터 두 값을 비교하는 회로등 이런 회로들이 모여 컴퓨터를 이룬다. 이번 포스팅에서는 컴퓨터를 구성하는데 필요한 기본적인 논리회로에 대해 알아보겠다. 1. 조합 회로 입력값만 결과값에 영향을 미치는 회로이다. 1) Half-add...