문맥 교환 (Context Switching)
·
운영체제
문맥 교환 (Context Switching)운영체제는 다수의 프로세스를 관리하며, 이들이 효율적으로 실행되도록 지원합니다. 이러한 다중 작업 환경에서, 문맥 교환(Context Switching)은 프로세스 간 전환을 가능하게 하는 중요한 메커니즘입니다. 이 글에서는 문맥 교환의 정의, 과정, 작동 원리, 장점과 단점을 상세히 다룹니다.문맥 교환이란?문맥 교환(Context Switching)은 CPU가 실행 중인 프로세스의 상태를 저장하고, 다른 프로세스의 상태를 복구하는 과정입니다. 이 과정은 다음 두 상황에서 발생합니다:타이머 인터럽트: 프로세스가 할당된 CPU 시간을 모두 소진한 경우.인터럽트 또는 시스템 호출: 프로세스가 입출력(I/O) 작업을 기다리거나, 예기치 못한 이벤트가 발생한 경우.문..
프로세스 제어 블록 (PCB)
·
운영체제
프로세스 제어 블록 (PCB)운영체제는 프로세스들의 실행과 자원 관리를 효율적으로 수행하기 위해 프로세스 제어 블록(PCB: Process Control Block)이라는 자료 구조를 사용합니다. 이 글에서는 PCB의 정의, 역할, 그리고 주요 구성 요소를 체계적으로 설명합니다.프로세스 제어 블록(PCB)이란?모든 프로세스는 CPU를 사용하여 실행됩니다. 하지만 CPU 자원은 제한적이기 때문에, 운영체제는 프로세스들 간에 CPU 사용 시간을 나누어야 합니다. 프로세스는 정해진 시간 동안 CPU를 사용한 후, 타이머 인터럽트가 발생하면 다음 프로세스에게 CPU를 양보하고 자신의 다음 차례를 기다립니다.이처럼 운영체제가 프로세스의 실행 순서와 자원을 관리하기 위해 사용하는 핵심적인 도구가 바로 프로세스 제어..
운영체제의 큰 그림
·
운영체제/운영체제 시작하기
운영체제의 큰 그림운영체제는 사용자를 위한 프로그램이 아니라, 사용자가 실행하는 프로그램을 위한 프로그램입니다. 즉, 사용자가 실행하는 응용 프로그램에 필요한 자원을 할당해주고, 올바르게 동작할 수 있도록 돕는 핵심 소프트웨어입니다. 1. 운영체제의 심장, 커널운영체제는 그 규모가 매우 방대합니다. 대표적으로 리눅스 소스 코드는 천만 줄이 넘습니다. 그리고 이러한 방대한 운영체제 가운데서도 가장 핵심이 되는 부분이 있습니다.바로 커널(Kernel)입니다. 커널은 사람으로 치면 심장, 자동차로 치면 엔진 같은 존재입니다. 어떤 커널을 사용하는지에 따라 프로그램이 하드웨어와 상호작용하는 방식이 달라지고, 이는 곧 시스템 전체의 성능까지 좌우합니다.운영체제 서비스 중 사용자 인터페이스(GUI/CLI 등)와 같..
운영체제란 무엇인가?
·
운영체제/운영체제 시작하기
운영체제란 무엇인가?컴퓨터에서 실행되는 모든 프로그램은 반드시 하드웨어 자원을 필요로 한다. 예를 들어, 1+2를 계산하는 프로그램은 CPU가 필요하다. 이미지를 저장하는 프로그램은 하드 디스크가 필요하다.이처럼 프로그램이 실행되기 위해 필요한 요소(자원)를 시스템 자원 혹은 자원이라고 부른다. CPU, 메모리, 보조기억장치(하드 디스크 등), 입출력 장치 등 컴퓨터 부품은 모두 자원에 해당한다.그리고 이러한 자원을 프로그램이 적절히 사용할 수 있도록 할당해 주고, 프로그램이 올바르게 실행되도록 관리하는 특별한 프로그램이 바로 운영체제(Operating System)이다.커널 영역과 사용자 영역운영체제도 인터넷 브라우저나 게임처럼 결국 하나의 프로그램이다. 다만 아주 특별하기 때문에 부팅 시 메모리에 적..