Operating System(9)
-
메모리 관리
메모리 관리의 목적 여러 프로세스가 동시에 실행될 수 있도록 메모리 공간을 제공 시스템 사용자들을 위해 만족할 만한 수준의 성능을 제공 각 프로그램의 리소스를 보호 프로세스 사이에 있는 메모리 공간을 공유 프로그래머를 위해 되도록 메모리 공간의 어드레싱을 투명하게 할 것 Memory Management Unit(MMU) Logical Address(논리 주소(가상 주소: Virtual Address))를 물리적인 주소(Physical Address)로 변경하는 하드웨어 장치 Logical Address: CPU에 의해서 생성, CPU에서 MMU로 보내는 주소 Physical Address: MMU에서 메모리로 보내는 주소 Dynamic Linking Dynamic Linking: 실행 가능한 목적 파일을..
2021.07.29 -
프로세스 동기화(ProcessSynchornization)
Background 프로세스들은 동시에(concurrently)실행할(될) 수 있다. - 언제나 방해 받을 수 있다. 부분적으로는 실행을 끝내는 경우도 있다. 공유된 데이터에 동시에 접근하는 것은 데이터 불일치, 모순을 발생 시킬 수 있다. - 데이터를 일관성 있게 유지시키는 것은 프로세스들 간의 순서를 보장하는 메커니즘이다. Race Condition 동시에 여러 개의 프로세스가 동일한 자료에 접근하여 경쟁하는 현상이다. 공유된 데이터의 일관성 문제이다. 해결: 동시적인(concurrent) 실행을 만들지 않는다. Critical Section Problem 각각의 프로세스는 Critical Section을 가진다. Critical Section: 한 프로세스가 Critical Section에서 실행하..
2021.07.28 -
동기와 비동기
동기화 시스템을 동시에 작동 시키기 위해 여러 사건들을 조화 시키는 것을 의미한다. (출처: 위키백과) 논리 주소 공간을 공유하는 협력적 프로세스의 질서있는 실행 보장 데이터의 일관성 유지 어떤 작업을 요청했을 때 그 작업이 종료될 때까지 기다린 후 다음 작업을 수행한다. 데이터를 주고받는 '순서'가 중요할때 사용된다. 요청한 작업만 처리하면 되기 때문에 전체적인 수행 속도는 빠를 수 있다. (일만 하면 된다) 한 작업에 대한 시간이 길어질 경우, 전체 응답이 지연될 수 있다. 즉, 순서가 있기 때문에 질서 정연하여 속도가 빠르기도 하지만, 한 작업이 지연되면 뒤에 작업들이 오래 지연되는 경우가 발생 비동기화 '동기화'의 반대 어떤 작업을 요청했을 때 그 작업이 종료될 때까지 기다리지 않고(작업을 위임하..
2021.07.26