본문 바로가기

Stack2

[OS] 메모리 구조 운영 체제의 프로그램이 실행되려면 실행되려는 프로그램(코드)이 메모리에 먼저 적재되고, 추가로 프로그램에서 사용할 변수를 할당할 메모리 또한 필요로 한다. 위의 그림을 토대로 운영체제에서 프로그램(한 개 이상의 프로세스로 이루어진 집합체)에 배정하는 메모리 영역은 4가지 영역으로 구분되어 있다. Code 영역 Data 영역 Heap 영역 Stack 영역 Code -> Data -> Heap -> Stack 순으로 Low Memory -> High Memory로 분류된다. Low Memory : logical address가 존재하는 메모리 공간 High Memory : logical address를 갖고 있지 않는 메모리 공간 1. Code 영역 : 메모리에 배정된 Code 영역은 이름 그대로 프로그램의.. 2023. 7. 13.
[Data-Structure] Stack, Queue, Deque Stack과 Queue는 선형 자료구조의 특징을 공통적으로 가지고 있다. Stack : Last In First Out (LIFO) - 후입 선출 (후에 들어간 원소가 먼저 배출) First In Last Out (FILO) - 선입 후출 (먼저 들어간 원소가 나중에 배출) 이것은 Stack의 가장 큰 특징이며 차곡차곡 쌓이는 구조로 이해하면 된다. 그렇기에 늦게 들어간 녀석들은 점차 쌓이게 되고 호출 시 가장 위에 있는 원소가 나오는 구조이다. ex ) 바구니에 물건을 담았다가 위에서부터 꺼냄 Queue : First In First Out (FIFO). - 선입 선출 (먼저 들어간 원소가 먼저 배출) Stack과 다르게 들어간 원소가 쌓이는 것은 마찬가지이나 들어간 순으로 배출된다는 것이 특징이다. .. 2022. 12. 27.