백수의 개발/운영체제
-
멀티 프로세스와 멀티 스레드백수의 개발/운영체제 2019. 10. 29. 21:27
이전에 [백수의 면접/운영체제]프로세스(Process)와 스레드(Thread)에 대한 이야기를 해보았다. 오늘은 이전 내용을 바탕으로 멀티 프로세스와 멀티 스레드에 대해서 다루어 보자. 멀티 프로세스 하나의 작업을 처리하기 위한 다수의 프로세스를 멀티 프로세스라고 한다. 간단히 말해 여러개의 프로그램을 통해 하나의 작업을 처리하는 방식이다. 장점 - 여러개의 프로세스 중 하나에 문제가 발생하더라도, 해당 프로세스만 죽고 다른 프로세스에는 영향을 주지 않는다. 단점 - 여러개의 프로세스를 돌아가면서 명령을 처리하게 되는데, 이 때 Context Switching에 대한 오버헤드가 크다. - 프로세스 간 데이터를 공유할 수 없어 IPC통신을 해야하고, 독립적인 코드공간과 데이터 공간을 차지한다.(장점이자 단..
-
프로세스(Process)와 스레드(Thread)백수의 개발/운영체제 2019. 10. 26. 13:46
자네, 프로세스와 스레드의 차이에 대해 설명해보게! 프로세스, 스레드 다 자주 듣고, 사용해봤을 용어들이다. 그런데 막상 각자의 정의와 차이를 설명하라고 한다면 설명하는게 쉽지 않을 수 있다. 오늘은 프로세스와 스레드에 대해서 정리를 해보려 한다. 프로세스(Process) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 운영체제로부터 시스템 자원을 할당받는 작업의 단위 실행된 프로그램을 의미 특징 프로세스는 각각 독립된 메모리 영역을 할당받는다. 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원..