
사용자가 실행 파일(예: .exe, .java, .py)을 실행하면, 운영체제는 해당 파일의 위치, 속성, 권한 등을 확인하고 실행 가능한지 판단을 한다.
운영체제(OS)는 실행 파일을 RAM(주기억장치)에 올려서 실행할 준비를 한다.
이때 코드, 전역 변수, 실행 환경 등을 메모리에 배치하고, 새로운 프로세스(Process)를 생성한다.
메모리에 올라간 명령어들은 CPU가 읽고 실행한다.
이때 CPU는 내부의 레지스터, 연산장치(ALU)를 활용해 계산, 판단, 제어를 수행한다.
실행 중인 프로그램은 메모리 내에서 여러 공간을 사용한다.
운영체제는 각 프로세스의 메모리를 분리해 충돌을 방지합니다.
파일 열기, 마우스 클릭, 키보드 입력, 네트워크 통신 등은 시스템 콜(System Call)을 통해 운영체제가 하드웨어와 직접 소통하며 처리한다.
컴퓨터는 동시에 여러 프로그램이 실행되는 것처럼 보이지만, 실제로는 운영체제가 CPU 시간을 분할하여 각 프로세스에 할당하고 빠르게 전환(Context Switching)한다.
이 덕분에 사용자 입장에서는 여러 앱이 동시에 작동하는 것처럼 느껴진다.
프로그램이 종료되면 운영체제는 해당 프로세스가 사용하던 메모리, 파일 핸들, 네트워크 연결 등을 정리하고 시스템 자원을 회수한다.
사용자가 메모장 아이콘을 더블 클릭
notepad.exe가 RAM에 로딩되고 프로세스가 생성됨
CPU가 명령어를 순차적으로 실행하며 메모장 화면이 나타남
파일 열기 시, OS가 디스크에서 파일을 읽어 메모리에 올림
작업 완료 후 프로그램 종료 → 자원 해제, 프로세스 종료