Computer Science

    [운영체제 메모리관리] 메모리 구조(Memory Structure)

    메모리 구조란? 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간(RAM)은 다음과 같습니다. 코드(code) 영역 데이터(data) 영역 힙(Heap) 영역 스택(Stack) 영역 코드(Code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부릅니다. 실행할 프로그램의 코드는 프로그래머가 작성한 소스 코드입니다. 프로그램이 시작하고 끝날 때까지 메모리에 계속 남아있습니다. 또한 상수도 여기에 들어갑니..

    [운영체제] Deadlock 교착상태란 ?

    여러분 안녕하세요~ Hyun's story입니다! 최근에 비동기 기술에 대해 많이 알고 하고 싶어서 관련 기술들을 많이 찾아보았습니다. 비동기와 운영체제와 깊은 연관이 있다는 것을 깨닫고, 운영체제 책을 구입하고, 운영체제 강의를 다운받아서 공부중에 있습니다~ 이번에는 교착상태 개념에 대해 설명해드릴려고 합니다. 비동기로 스레드를 Concurrent하게 사용하고 아래에 설명해드릴 4가지 조건( Mutual Exclusive, Hold and wait, No-Presumption, Circular wait)이 충족이 되면 위와 같이 데드락 상황이 발생한다고 하네요. 교착상태..교착상태...가 뭐지라고 생각했는데, 운영체제 강의를 보고 이해를 했습니다. 위의 사진과 같이 프로세스가 자원을 요청하는데 또 다른..