오늘도 기록하는 중 GitHub

운영체제 4

동기화

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

CS/OS 2025.06.10

커널 Kernel

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

CS/OS 2025.06.04

운영체제란? 커널, 프로세스, 교착 상태까지

운영체제운영체제는 컴퓨터의 하드웨어와 소프트웨어 자원을 관리하고, 사용자와 컴퓨터 간의 상호작용을 가능하게 하는 핵심 소프트웨어다. 사용자와 하드웨어 간의 인터페이스 역할을 하며, 효율적인 자원 관리를 통해 시스템의 성능을 최적화한다.일반적으로 SSD 또는 HDD에 설치되며, 컴퓨터 부팅과 동시에 메모리에 로드되어 실행된다.프로세스는 실행 중인 프로그램의 인스턴스로, 작업을 수행하는 기본 단위다. 운영체제는 프로세스를 관리하며, 프로세스는 실행 중 여러 상태를 거친다.New (생성) 프로세스가 생성된 상태로, 아직 실행 준비가 완료되지 않았다. Ready (준비) 실행 준비를 마치고 CPU 할당을 기다리는 상태다. Running (실행 중) CPU를 할당받아 명령어를 실행하는 상태다. Wait..

CS/OS 2025.03.14

운영체제(7) - 페이징, 세그먼테이션, 페이지화된 세그먼테이션

불연속 메모리 할당 페이징 Paging 작업을 메모리관리장치(MMU)에서 작업크기가 동일한 페이지에 할당하여 처리하는 불연속 메모리 할당 방법이다. 빈 프레임에 어떤 페이지든 적재시킬 수 있기에 메모리의 효율적인 사용. 프레임 간의 외부단편화가 발생하지 않는다. 운영체제 선에서는 페이지 관리 부담이 크다. 프로세스의 필요공간이 페이지와 맞지 않으면 내부단편화가 발생할 수 있다. 논리적 주소가 전해지면 페이지 테이블에서 논리적 주소의 페이지번호(p)를 보고 알맞는 페이지를 할당한다. 그리고 실제 메모리의 위치인 프레임(f)의 값을 물리적 주소에 저장하고, 논리적 주소에 있던 오프셋(d)값을 물리적 주소에 넘긴다. 비로소 메모리에 이를 할당하면 된다. 각 테이블 항목마다 논리적 페이지 주소와 프레임번호가 있..

CS/OS 2022.11.21
반응형