오늘도 기록하는 중 GitHub

2025/06 5

2025년 상반기 회고 - SAA, SQLD 합격 후기

지난 반 년 간내가 작성한 2024년 회고에 2025년에는 무엇을 하겠다고 했는지 다시 보았다.올해는 새롭게 무언가를 시작하고, 성장하고 발전하여 어엿한 사회구성원이 되는 게 목표다.사실상 목표는 3가지였다.새로운 활동엔지니어로써 성장취업이 중 1개는 달성했다고 생각한다. 1개는 달성 중이다. 1개는 아직이다.뭐가 됐든, 반 년 간 열심히 달려왔다. 벌써 반 년이다. 이 정도나 달려왔다는 게 되돌아보면 신기하다. 조금씩 스스로 발전하고 있다는 것도 알 수 있다.이번에는 지금까지 무엇을 했고, 앞으로 무엇을 할 건지 내 생각과 함께 정리해보고자 한다. 취미에 집중하자재작년부터 블로그에 개발 외적인 것을 담으려고 하진 않았는데 취미가 내 발전에 많은 도움이 됐기에 담아보자고 생각했다. 벌크업을 목표로 원..

Remembrance 2025.06.29

가상 메모리 - 페이징

가상 메모리 관리 기법현대 컴퓨터 시스템이 여러 프로그램(프로세스)을 동시에 매끄럽게 실행할 수 있는 비결은 무엇일까? 그 중심에는 한정된 물리 메모리(RAM)를 수많은 프로세스들이 나눠 쓸 수 있도록 하는 메모리 관리 기술이 있다. 그중에서도 페이징(Paging)은 가장 핵심적인 가상 메모리 관리 기법으로, 메모리 공간을 낭비하는 외부 단편화 문제를 근본적으로 해결하고, 각 프로세스가 마치 자신만의 거대한 메모리를 독차지한 것처럼 느끼게 해주는 안정적인 환경을 제공한다.페이징의 기본 원리: 페이지와 프레임페이징의 핵심 아이디어는 물리 메모리를 조각내어 프로세스에 비연속적으로 할당하는 것이다. 마치 책의 내용을 여러 페이지에 나누어 담고, 이 페이지들을 책장 여기저기에 꽂아두지만 목차를 통해 순서대로 찾..

CS/OS 2025.06.27

동기화

프로세스 동기화프로세스 동기화는 현대 멀티프로세싱 시스템에서 가장 중요한 개념 중 하나다. 여러 프로세스가 동시에 실행되는 환경에서 공유 자원에 대한 안전한 접근을 보장하기 위해 반드시 필요한 기술이다. 동기화는 단순히 프로세스 간의 실행 순서를 제어하는 것을 넘어서, 데이터의 일관성과 시스템의 안정성을 보장하는 핵심적인 역할을 수행한다.동기화란 무엇인가동기화(Synchronization)는 시스템 프로세스 간 정보를 공유하는 행위로 정의할 수 있다. 보다 구체적으로 말하면, 여러 프로세스나 스레드가 공유 자원에 접근할 때 발생할 수 있는 문제를 예방하고 올바른 실행 순서를 보장하는 메커니즘이다. 현대 컴퓨터는 다중 프로그래밍 시스템으로 여러 프로세스가 동시에 실행되며, 이러한 환경에서 동기화는 필수불가..

CS/OS 2025.06.10

프로세스, 그리고 스레드

프로세스와 스레드웹이든 앱이든 관계없이 개발을 해본 사람이라면 스레드에 대해 배우거나 들었을 것이다. 오늘은 CS에 대한 이해를 위해 운영체제에 관련된 내용 중 프로세스와 스레드에 대해 정리하려고 한다. 스레드에 관한 내용은 이전에도 올렸지만 이번에는 총체적으로 담아보려고 한다!아래는 내가 이전에 정리한 스레드 관련 글이다.2024.07.08 - [CS/OS] - 스레드 Thread (1) - 하드웨어와 소프트웨어프로세스?프로세스는 실행 중인 프로그램을 의미한다.응용 프로그램은 보조 기억 장치(하드 디스크, SSD 등)에 저장되어 있다가, 사용자가 해당 프로그램을 실행하는 순간 메모리에 적재되면서 '프로세스'가 된다. 컴퓨터는 수많은 프로세스들을 동시에 생성하고, 사용이 끝나면 메모리에서 삭제함으로써 메..

CS/OS 2025.06.08

커널 Kernel

커널?이 한 달 동안 배웠던 부분은 장기기억으로 넘기고, 부족한 부분은 채우기 위해서 공부하고 있다. 이번엔 운영체제의 중요 요소인 커널에 대해서 기록하려고 한다.운영체제의 핵심 요소커널은 운영체제의 가장 핵심적인 부분으로, 컴퓨터 시스템의 모든 것을 완전히 제어하는 컴퓨터 프로그램이다. 하드웨어와 소프트웨어 구성 요소 간의 상호작용을 관리하고, 항상 메모리(RAM)에 상주하면서 운영체제 코드의 일부분 역할을 한다. 커널은 운영체제를 구성하는 가장 중요한 부분으로, 어떻게 구성하느냐에 따라 컴퓨터 전체의 성능이 달라진다.커널의 메모리 보호커널의 핵심 코드는 응용 소프트웨어나 운영체제의 다른 중요하지 않은 부분들로부터 접근이 차단된 별도의 메모리 영역에 로드된다. 이 영역을 _커널 영역_이라고 부른다. 이..

CS/OS 2025.06.04
반응형