1 min read
메모리의 구성 요소 4 개 Code 실행할 프로그램의 코드가 저장되는 영역 (컴파일 시 크기가 결정됨) Data 전역 변수, static variable 등 컴파일 시 결정되는 것들에 대한 영역 stack 지역 변수, parameters, return value 등 임시로 사용하는 값들에 대한 영역 (컴파일 시...
Process 란 OS 로 부터 시스템 자원을 할당받고 메모리에 적재되어 실행되고 있는 프로그램 (program) 의 인스턴스를 의미하며, 여기서 프로그램은 실행 가능한 파일을 뜻한다.
Process 가 Page 를 요청했을 때, 그 Page 가 Memory 에 없는 상황 Process 의 부재에서 오류가 발생했을 뿐, Process 가 만든 오류는 아니다.
Critical Section 은 여러 thread 또는 Process 가 동시에 접근하면 안 되는 shared resource 를 다루는 코드 구간이다.
하드디스크에 존재하고 Memory Management Unit 가 관리하는 영역 swap in swap out .
페이징이란 external fragmentation 의 발생을 완전히 차단하기 위하여 적용한 방법으로, 프로세스가 적재되는 메모리 의 논리 주소를 Page 라고 불리는 고정된 크기의 블록들로 분할하여 관리하는 기법이다.
공유된 자원의 데이터를 여러 thread 가 접근하는 것을 막는 것 상호배제라고도 하며, Critical Section 을 가진 thread 의 Running time 이 서로 겹치지 않도록 각각 단독으로 실행하게 하는 기술이다.
dmesg 명령어는 시스템 부팅 메시지를 확인하는 명령어다. 또한 커널에서 출력되는 메세지를 일정 수준 기록하는 버퍼 역할을 수행하며, 커널 부팅 중에 에러가 났다면 어느 단계에서 에러가 났는지 범위를 좁히고 찾아내는데 도움이 된다.
현재 공유 자원에 접근할 수 있는 thread 또는 Process 의 수를 나타내는 값을 설정하여 mutual exclusion 를 달성하는 기법 Semaphore 는 리소스 상태를 나타내는 간단한 카운터를 사용하며, 이는 OS 또는 Kernel 에서 지정된 값이다.
물리 Memory 에서 swap 영역 으로 데이터를 내보내는 것 .