목록2025/05/07 (3)
mooni

프로세스와 컴파일 과정프로세스란?프로그램이 메모리에 올라가 인스턴스화된 실행 단위 컴파일 과정전처리: 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환컴파일러: 오류 처리 및 코드 최적화 작업을 수행하고 어셈블리어로 변환어셈블러: 어셈블리어를 목적 코드로 변환링커: 라이브러리 함수 또는 다른 목적 코드와 결합하여 실행 파일 생성라이브러리정적 라이브러리: 프로그램 빌드 시 코드에 통합되며 외부 의존성이 적지만 메모리 사용량 증가동적 라이브러리: 실행 시 필요할 때 DLL 파일을 참조하며 메모리 효율은 높지만 외부 의존성이 큼프로세스의 상태생성: 프로세스가 생성된 상태로, PCB가 할당됨. fork() 함수는 부모 프로세스를 복사해 자식 프로세스를 생성하며, exec() 함..

메모리 계층 구조메모리는 속도와 용량에 따라 다음과 같은 계층으로 구성됩니다.레지스터: CPU 내부의 초고속 휘발성 메모리. 속도는 가장 빠르며 용량은 가장 작습니다.캐시(Cache): L1, L2, L3 캐시로 구성. 휘발성이며 속도는 빠르고 용량은 적습니다.주기억장치(Main Memory, RAM): 휘발성이며 속도와 용량은 중간 수준입니다.보조기억장치(HDD, SSD): 비휘발성이며 속도는 느리지만 용량은 큽니다.캐시(Cache)캐시는 빠른 장치(CPU)와 느린 장치(메모리) 간 속도 차이를 보완하기 위한 임시 저장소입니다.지역성의 원리시간 지역성: 최근에 사용된 데이터가 다시 사용될 가능성이 높음공간 지역성: 접근된 데이터의 근처 주소도 접근될 가능성이 높음캐시 히트와 캐시 미스캐시 히트: 필요한..

개요운영체제(Operating System, OS)는 사용자가 컴퓨터를 쉽게 사용할 수 있도록 도와주는 인터페이스 역할을 합니다. 컴퓨터의 하드웨어와 소프트웨어 사이를 중재하면서 자원 관리, 사용자 편의성 제공, 보안 유지 등의 핵심적인 기능을 수행합니다.운영체제의 역할운영체제는 다양한 자원을 효율적으로 관리하고, 사용자와 하드웨어 간의 매끄러운 연결을 담당합니다. 주요 역할은 다음과 같습니다: CPU 스케줄링과 프로세스 관리CPU 사용 순서를 결정하고프로세스 생성 및 삭제, 자원 할당과 반환을 담당합니다.메모리 관리제한된 메모리를 여러 프로세스에게 적절히 분배합니다.디스크 파일 관리파일 시스템을 관리하고, 파일의 저장 및 접근을 제어합니다.I/O 디바이스 관리마우스, 키보드 등 외부 장치와의 데이터 송..