프로세스 주소 정의 프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리함. → 이를 프로세스 주소 공간이라고 부름 Stack 영역 함수의 호출과 관계되는 지역변수와 매개변수가 저장되는 영역 Stack 영역의 값은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸 메모리의 높은 주소에서 낮은 주소의 방향으로 할당됨 재귀 함수가 너무 깊게 호출되거나 함수가 지역변수를 너무 많이 가지고 있어 stack 영역을 초과하면 stack overflow 에러가 발생 Heap 영역 런타임의 크기가 결정되는 영역 사용자에 의해 공간이 동적으로 할당 및 해제됨 주로 참조형 데이터 (ex. 클래스) 등의 데이터가 할당됨 메모리의 낮은 주소에서 높은 주소의 방향으로..
프로그램(Program) 어떤 작업을 위해 실행할 수 있는 파일 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 (모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해 줘야 실행될 수 있음.) 📌 실행되기 전에는 메모리에 할당이 되지 않은 정적인 코드 및 데이터의 묶음 → 윈도우의 exe 파일 or 맥의 dmg 파일 등 사용자가 눌러서 실행하기 전의 파일들 프로세스(Process) 메모리에 올라와 실행되고 있는 프로그램 동적인 개념으로는 실행된 프로그램을 의미 운영체제로부터 자원을 할당받은 작업의 단위 CPU 시간 (일반적으로 CPU는 한번에 하나의 프로세스만 관리할 수 있음) 멀티태스킹은 한번에 다수의 프로세스를 실행하고 있는 것이 아니고 사용자로 하여금 다수의 프..
Operating System(OS) - 컴퓨터 하드웨어와 소프트웨어 사이의 인터페이스 역할을 하는 핵심 소프트웨어 - 컴퓨터의 자원을 효율적으로 관리하고, 사용자가 컴퓨터를 쉽게 사용할 수 있도록 도와줌 ⇒ 하드웨어와 사용자 간의 중재자 역할을 수행 - OS는 스스로 어떠한 기능을 수행하기 보다 다른 응용프로그램이 작업을 원활히 진행할 수 있도록 작업환경을 마련해 줌. ⇒ 응용프로그램을 운영(Operating)하기 쉽도록 만든 시스템(System) - 종류 : Windows, Linux, UNIX, MS-DOS 역할 - CPU 스케줄링과 프로세스 관리 CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 - 메모리 관리 한정된 메모리를 어떤 프로세스에 얼만큼 할..