본문 바로가기

cs2

[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] Array, Linked-List Array : 배열이라는 뜻의 Array는 가장 기초적인 자료구조 형식으로, 논리적/물리적 저장 위치가 동일하다는 특징을 가지고 있다. 접근 (Access) : 위치 정보를 나타내는 인덱스(Index)를 이용하여 해당 원소에 바로 접근이 가능하다. 접근에 대한 시간 복잡도는 O(1)이라는 특성을 가지고 있는데 이는 삽입(Insert)/삭제(Delete)는 다른 결과를 보여준다. 삽입(Insert) / 삭제 (Delete) : [0,1,2,3,4,5,6,7,8,9] 이라는 Array에 '5' 라는 원소에 접근을 하여 삭제를 하게 된다면 [0,1,2,3,4, ,6,7,8,9] 이와 같이 바뀌게 되는데 '4'와 '6' 사이에 어떠한 값이 들어간 것이 아닌 빈 공간이 생겨버리게 된다. Array의 특성 상 빈 .. 2022. 12. 24.