운영체제 2

세마포어와 뮤텍스의 동작원리

프로세스에 한번에 여러 자원이 점유되지 못하기 때문에 스레드를 사용한다. 한 스레드는 + 연산 다른 스레드는 – 연산을 하게 된다. 이렇게 연산이 이루어지는 공간이 임계영역이고,이 자체가 동기화이다. 동기화 객체로는 뮤텍스(하나의 자원에만 접근) , 세마포어 (하나 이상 가능) 등 이벤트가 있으며 스레드에서 연산이 꼬이게 될 경우를 대비하기 위해 동기화 객체를 이용한다. ▶세마포어 세마포어는 빈 화장실 열쇠의 갯수에 비유할 수 있다. 즉 비어 있는 칸만큼 열쇠가 있다고 가정하면 예를 들어 네 개의 화장실에 자물쇠와 열쇠가 있다고 한다면 세마포어는 열쇠의 갯수를 계산하고 시작할 때 4의 값을 갖는다. 사람들이 화장실에 들어갈 때마다 열쇠의 숫자는 줄어들게 된다. 화장실 칸이 다 찰 경우 카운트는 0이 되며..

반가상화와 전가상화

▶하이퍼바이저 프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각 종 운영체제(OS) 접근 방법을 통제하는 얇은 계층의 소프트웨어로 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치인 CPU와 OS사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다. 가상화 머신 모니터 virtual machine monitor,VMM 라고도 부른다. 하이퍼바이저는 여러 개의 OS가 단일 하드웨어 호스트를 공유할 수 있도록 하는 프로그램 각 OS는 호스트의 프로세스, 메모리 및 기타 자원들을 모두 스스로 나타낸다. 하이퍼바이저의 역할은 높은 수준의 관리 및 모니터링 도구에 대한 인터페이스를 제..