본문 바로가기

Computer Science/OS (Operating System)4

[CS] 운영체제 자원 관리 알고리즘 1. 페이지 교체 알고리즘페이지 교체 알고리즘은 운영체제의 가상 메모리 관리에서 중요한 역할을 합니다.메모리가 가득 찼을 때 어떤 페이지를 교체할지 결정하는 알고리즘으로, 페이지 폴트(Page Fault)를 최소화하는 것이 중요합니다.구분FIFOLRULIFO설명가장 먼저 들어온 데이터를 가장 먼저 제거가장 오래 사용되지 않은 데이터를 제거가장 마지막에 들어온 데이터를 가장 먼저 제거기본원리큐(Queue) 구조 기반최근 사용 시간 추적스택(Stack) 구조 기반교체 우선순위가장 오래된 항목가장 오랫동안 접근되지 않은 항목가장 최근에 추가된 항목장점구현이 단순효율적 캐시 관리구현이 단순단점최근 자주 사용하는 항목이 제거될 수 있음구현 복잡도와 자원 소모 증가성능 효율이 떨어질 수 있음캐시 효율성보통높음낮음 .. 2025. 4. 18.
[CS] 3. 컴퓨터 작동 방식 ※ 책에 더 자세한 내용이 있으므로 책을 추천드립니다. 컴퓨터가 프로그램을 실행하고 데이터를 처리할 때, 문자와 숫자를 어떻게 인식할까요? CPU는 기본적으로 0과 1만 이해할 수 있는데, 0과 1을 나타내는 가장 작은 정보의 단위를 비트(bit)라고 합니다. 즉, 1비트는 2개의 정보를 표현할 수 있고, 2비트는 4개, 3비트는 8개의 정보를 표시할 수 있습니다. 흔히 프로그램 관점의 크기를 말할 때 사용되는 단위는 TB, GB, MB, kB, byte가 있는데, 모두 최소단위인 bit로부터 시작된 것 입니다. 그리고 CPU 관점에서 정보 단위를 말할 때, CPU가 한 번에 처리할 수 있는 데이터의 크기를 의미하는 워드(word)가 있습니다. 만약 CPU가 한 번에 16비트를 처리할 수 있다면 1워드는.. 2024. 10. 3.
[CS] 2. 컴퓨터 구조 컴퓨터를 구성하는 핵심 부품의 역할과 작동 방법에 대해 알아보며, 컴퓨터 구조의 큰 그림을 이해해봅시다.1. 컴퓨터가 이해하는 정보프로그램을 개발하기 위해서는 프로그래밍 언어로 소스 코드를 작성해야 합니다. 하지만 컴퓨터는 프로그래밍 언어를 직접 이해하지 못합니다. 컴퓨터는 기본적으로 0과 1만 이해할 수 있기 때문에, 소스 코드는 컴퓨터가 이해할 수 있는 형태로 컴파일되어 실행됩니다. 컴퓨터에 정보를 저장하거나 주고 받기 위해서는 데이터와 명령어를 활용합니다. 데이터는 컴퓨터와 주고받는 정보, 컴퓨터에 저장된 정보 자체를 의미하고 명령어에 종속적인 정보이며, 명령의 대상이자, 명령어의 재료라고 할 수 있습니다.  그리고 명령어는 이 데이터를 활용하는 정보입니다. 명령어를 이해하고 실행하는 주체는 CPU.. 2024. 10. 2.
[CS] 1. 컴퓨터 과학을 알아야 하는 이유 좋은 서비스를 개발하는 개발자를 목표하고 있기에『이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접』라는 책을 통해 CS관련 지식들을 공부해보고자 합니다. CS를 알아야 하는 이유부터 중요한 개념들까지 배워봅시다. 개발자로서의 역량을 키우기 위해서는 컴퓨터 과학에 대한 지식을 갖추어야 한다고 말합니다.프로그래밍 언어, 프레임워크, 라이브러리만 알아도 프로그램을 만들 수 있을텐데 CS지식이 필요한 이유가 뭘까요? 작동하기만 하면 프로그램의 실행 원리를 이해하지 않아도 개발의 목적을 이룬 것일까요?프로그램 개발의 궁극적인 목적은 '일단 작동하게 만드는 것이 아닌 제대로 작동하게 만드는 것' 입니다. 개발된 프로그램은 사용자가 늘어나고 기능이 추가되고 유지보수까지 고려할 시기가 되면 겉보기만 작동하는.. 2024. 10. 1.
728x90