목록CS/운영체제 (40)
개발자는 기록이 답이다

컴퓨터가 이해하는 정보의 단위를 학습하고, 이진법, 십육진법을 통해 다양한 숫자를 표현하는 방법, 아스키 코드, 유니코드 등 컴퓨터가 이해할 수 있는 0과 1로 다양한 문자를 표현하는 방법에 대해서 알아본다 1. 0과 1을 "숫자"로 표현하는 방법 컴퓨터는 0과 1로 모든 정보를 표현하고 이해한다고 했는데, 3+4를 계산하는 연산은 어떻게 하는걸까? 정보단위 0과 1을 나타내는 가장 작은 정보 단위를 비트(bit)라고 한다. 비트는 전구에 빗대어 생각해보면 이해하기 쉽다. 전구 한개로 꺼짐과 켜짐 두 가지 상태를 표현할 수 있듯이, 1비트는 0 또는 1 두가지 정보를 표현할 수 있다. n개의 전구로 표현할 수 있는 상태는 2ⁿ가지 이다. n비트는 2ⁿ가지 정보를 표현할수 있다. 웹 브라우저, 워드 프로세..

인프런 다른 강의를 통해 운영체제 파트를 공부했었는데, 좀 더 부족한 부분을 메꾸기 위해 혼공책을 도서관에서 빌려왔다. 강의에서는 핵심 부분만 뽑아서 설명해주긴했지만, 책으로도 좀 더 자세히 복습하고자 한다. 특히, 맨 앞장에는 실력있는 개발자가 되기 위해서 컴퓨터 구조를 알아야 하는 이유에 대해 설명이 잘 되어있다. 컴퓨터 구조를 알아야 하는 이유? 프로그래밍 강의나 책에 나오는 코드를 똑같이 따라 작성했는데도 에러가 날 경우, 컴퓨터의 구조를 이해하고 있다면 문제 상황을 빠르게 진달할 수 있다. 컴퓨터 → 미지의 대상 x, 분석의 대상o 컴퓨터 구조 지식은 문법에 맞는 코드만 작성할 줄 아는 개발자를 넘어 다양한 문제를 스스로 해결할 줄 아는 개발자로 만든다. 웹사이트를 개발할때, 서버 컴퓨터가 필요..

프로세스(process) 컴퓨터의 메모리에 올라와 실행되고 있는 프로그램, task와 같은 의미로 쓰입니다. 하나의 스레드로 이루어진 싱글스레드 프로세스, 여러개의 스레드로 이루어진 멀티스레드 프로세스로 나뉩니다. 스레드(thread) 프로세스 내 작업의 흐름을 지칭합니다. 프로세스와 스레드의 차이 1.프로세스는 코드, 데이터, 스택, 힙 메모리 영역을 기반으로 작업하는 반면 스레드는 프로세스 내의 스택 메모리를 제외한 다른 메모리 영역을 프로세스 내의 다른 스레드들과 공유하기 때문에 메모리적 이점이 있습니다. 2.프로세스는 다른 프로세스와 격리되어있기 때문에 서로 통신을 하기 위해서는 IPC를 사용해야 하지만 스레드는 다른 스레드와 서로 격리되어있지 않으므로 그냥 통신할 수 있으므로 프로세스보다 더 빠..

스와핑이 일어날 때 페이지교체 알고리즘(page replacement algorithm)에 의해 페이지가 교체되게 됩니다. 오프라인알고리즘 오프라인알고리즘은 가장 좋은 알고리즘(스와핑이 적게 일어남)이라고 일컫는 알고리즘이며 이는 가장 먼 미래에 참조되는 페이지와 현재의 페이지를 바꾸는 알고리즘(LFD, Longest Forward Distance)입니다. 예를 들어 0, 1, 2, 3, 4, 2 이렇게 들어온다고 가정하면 가장 미래에 참조되는 2와 스와핑하는 것을 말합니다. 그러나 미래에 사용되는 프로세스를 우리는 알지 못합니다. 즉, 사용할 수 없는 알고리즘이지만 다른 알고리즘과의 성능비교에 대한 상한선을 제공합니다. 오늘 : word → ppt → 게임 했다고 해서 내일도 이런 순서대로 하는건 아니..