차이점 (2) 썸네일형 리스트형 [운영체제] 프로세스 - 뮤텍스와 세마포어 차이 뮤텍스와 세마포어 어떤 작업을 완료하기 위해 여러 프로세스, 쓰레드가 동시에 실행되는 경우가 있다. 이때 중요한건 '공유자원 관리' 이다. 공유자원의 관리가 제대로 되지 않으면 프로그램상 데드락 같은 문제가 발생될 여지가 다분하다. 뮤텍스와 세마포어는 이러한 문제 발생을 막기위한 일종의 '상호배제' 기법 중 하나라고 볼 수 있다. 특히 쓰레드의 경우 Critical Section이란 것이 존재하는데 이것도 마찬가지로 쓰레드A가 Critical Section을 선점하고 있다면 뒤에있는 쓰레드B는 쓰레드A의 작업이 종료될때 까지 기다려한다. Critical Section : 프로그램상 동시에 실행될 경우 문제가 발생할수 있는 영역. 뮤텍스 동작 원리 공유자원 : A 프로세스or쓰레드: X, Y, Z, K, .. [운영체제] 프로세스 - 프로세스와 스레드의 차이점은? 프로세스란 프로세스란 위에서 말했듯이 프로그램을 메모리에 적재시켜 실행 중인 것을 말한다. 이때 실행단위는 스레드가 된다. 여기서 프로그램과 프로세스의 차이를 알고 넘어가야 한다. 프로그램은 컴퓨터 하드디스크에 저장돼있는 코드덩어리를 말한다. 즉 정적인 상태라고 볼 수 있다. 그런 프로그램을 메모리에 적재시키게 되면 정적인 코드덩어리가 메모리상에서 실행되고 동적인 상태가 되면 프로세스가 되는 것이다. 프로세스의 특징 프로세스는 운영체제의 의해 각자 독립된 메모리 영역과 주소공간을 할당 받는다. 이때 프로세스의 메모리 구조는 크게 Code, Heap, Stack, Data 영역으로 구성되며 저마다의 역할이 있다. Code : 코드를 구성하는 메모리 영역으로 프로그램 명령을 저장. Heap : 동적으로 메모.. 이전 1 다음