컴퓨터/운영체제 2

가상화 / 프로세스

일반적으로 프로세스는 실행 중인 프로그램으로 정의한다. 프로그램 자체는 디스크 상에 존재하는 명령어와 정적 데이터의 묶음 덩어리일 뿐, 운영체제가 실행하여 프로그램에 생명을 불어넣는 것이다. 우리는 이러한 프로세스를 동시에, 사용 가능한 cpu가 있는지 없는지 신경 쓰지 않고 여러가지를 실행시키고 싶다. 이러기 위해서 실제로 적은 개수의 cpu 밖에 없더라도 cpu가 여러 개 존재한다는 환상을 심어줘야 한다. 이를 가상화한다고 한다. 하나의 프로세스를 실행하고, 얼마 후 중단시키고 다른 프로세스를 실행하는 작업을 반복하면서 실제 하나 또는 소수의 cpu로 여러 개의 가상 cpu가 존재하는 듯한 환상을 만들어 낸다. 시분할 (time sharing)이라 불리는 이 기법은 원하는 수 만큼의 프로세스를 동시에..

운영체제 기본지식

폰 노이만의 컴퓨팅 모델은 쉽게 말하자면 반입, 해석, 실행의 반복이다. 운영체제는 이러한 시스템을 사용하기 쉽게 하기위해 여러가지 일이 발생하는 과정들을 배울 것이다. 다시 말하자면 프로그램을 쉽게 실행하고, 프로그램 간의 메모리 공유를 가능케 하고, 여러가지 일을 처리할 수 있는 시스템을 사용하기 편리하면서 올바르게 동작시킬 책임이 있기 때문에 소프트웨어를 운영체제 operating system이라고 부른다 사용하기 쉽게 하는 일 중 하나는 가상화이다. 운영체제는 프로세서, 메모리, 디스크같은 물리적인 자원을 이용하여 사용이 편리한 가상 형태의 자원을 생성한다. 이 때문에 운영체제를 가상머신이라고 부른다. 사용자 프로그램의 실행, 메모리 할당, 파일 접근과 같은 가상 머신과 관련된 기능들을 운영체제에..