본문 바로가기

프로세스14

운영체제 8장 - 프로세스 관리(5) : 세마포(semaphore) - 운영체제 8장- 프로세스 관리(5) : 세마포(semaphore) - 프로세스/쓰레드 동기화는 여러 개의 프로세스/쓰레드가 공통으로 데이터에 접근하려고 할 때 발생하는 문제를 해결하는 방법이다. 동기화 부분은 스케줄링과 더불어 프로세스 관리에서 매우 중요한 부분을 차지한다. 세마포는 프로세스/쓰레드 동기화를 위한 도구 중 하나이다. 앞장에서 세마포의 원리에 대해서 알아보았는데 이번 장에서는 더욱 자세히 세마포에 대해 다루어보도록 하겠다. 쓰레드가 동작하는 공간에는 공통 데이터를 수정할 수 있는 임계구역이 존재한다. 쓰레드가 동작을 하면서 임계구역에 들어가게 되면 데이터를 수정할 수 있다. 쓰레드가 코드를 동작하는 도중에 acquire() 명령어가 실행되면 임계구역에 들어가라는 명령이므로 쓰레드가 임계구역.. 2017. 4. 19.
운영체제 7장 - 프로세스 관리(4) : 임계구역 문제 및 세마포어 - 운영체제 7장- 프로세스 관리(4) : 임계구역 문제 및 세마포어 - 앞장에서 프로세스 동기화가 필요한 이유에 대해서 설명을 하였다. 은행계좌 문제를 통해 공통변수인 은행계좌에 대한 동시 업데이트가 발생하면 문제가 발생할 수 있다. 따라서 우리는 한 번에 한 쓰레드만 업데이트하는 프로세스 동기화가 필요하다. 이러한 문제를 임계구역 문제라고 한다. 여러 개의 쓰레드로 이루어진 시스템에서 각각의 쓰레드는 코드의 영역을 가지고 있는데 이 부분을 임계구역이라고 한다. 임계구역에서는 공통으로 사용하는 데이터를 바꾸거나 테이블을 업데이트하거나 파일을 쓰거나 하는 일을 할 수 있다. 앞의 은행계좌 문제로 설명을 하면 은행계좌에 대한 영역이 바로 임계구역이 되는 것이다. 임계구역을 영어로 하면 Critical sect.. 2017. 4. 18.
운영체제 4장 - 프로세스 관리(1) - 운영체제 4장- 프로세스 관리(1) - 운영체제가 하는 역할은 매우 많다. 하지만 프로세스 관리는 그 역할 중 가장 중요한 역할이라고 할 수 있다. 그러면 프로세스에 대해 먼저 알아보자. 프로세스는 실행 중인 프로그램이다. 하드디스크에 있는 프로그램이 메인 메모리로 적재되어 있을 때 프로세스라고 부른다. 프로세스는 다섯 가지의 상태 중 하나의 상태에 존재한다. 메인 메모리에 올라오는 상태인 new, CPU 할당을 받는 것을 기다리는 ready, CPU가 할당되어 작업을 수행 중인 running, I/O와 같은 CPU 외의 할당을 받아 기다리는 waiting, 이러한 모든 작업이 끝날 경우 terminated라는 상태에 존재하게 된다. 이러한 상태를 나타내기 위해서는 프로세스에 대한 모든 정보가 저장되어 .. 2017. 4. 16.
운영체제 2장 - 운영체제 종류와 역할 - 운영체제 2장- 운영체제 종류와 역할 - 운영체제의 종류는 운영체제의 발전 과정을 보면 알 수 있다. 맨 처음의 컴퓨터는 운영체제를 가지고 있지 않았다. 사용자가 일일이 모든 상황을 컨트롤 해야만 컴퓨터를 사용할 수 있었다. 이런 점에서 매우 불편함을 느꼈고 컴퓨터 자체에서 관리를 해주는 프로그램을 만들 필요성을 있었다. 따라서 최초의 운영체제가 탄생했다. 처음에 나온 운영체제는 일괄처리 운영체제이다. 처리해야 할 데이터를 일정 기간 또는 일정량 정리하여 일괄 처리하는 것이었다. 하지만 일괄처리만으로는 불편함을 없앨 수 없었다. 그래서 나온 것이 다중프로세서 운영체제이다. 다중 프로그래밍 시스템에서 메모리에 더 많은 유저 프로그램을 가동시키고 싶었다. 또한 한 명의 유저 프로그램이 쉬면 다른 유저의 프로.. 2017. 4. 14.