CS/운영체제

CS/운영체제

[운영체제] 멀티프로세스 vs 멀티스레드

프로세스란? 쉽게 말하면 프로세스는 코드로 작성된 프로그램이 메모리에 올라가서 사용가능한 상태가 된 것 스레드란? 스레드란 프로세스내에서 실제로 작업을 수행하는 것 모든 프로세스에서는 한 개 이상의 스레드가 존재하고 작업을 수행한다 두 개 이상의 스레드를 가지는 프로세스 -> 멀티스레드 프로세스 그렇다면 과연 멀티 프로세스와 멀티 스레드의 차이는 뭘까 사진을 보면서 이해해보자 멀티 프로세스란? - 여러개의 프로세스가 서로 협려해서 일을 처리한다 - 여러개의 프로세스가 작업을 병렬적으로 처리한다 - 각 프로세스간 메모리 구분 또는 독립된 주소 공간을 가져야 할 때 사용한다 장점 - 독립된 구조이기 때문에 안정성이 높다 (다른 프로세스랑 충돌이 발생하기 어렵다) - 하나의 프로세스가 죽는다고 해도 문제가 되..

CS/운영체제

프로세스간 채팅 구현해보기

OS수업을 듣던중 교수님께서 과제를 하나 내셨다 과제는 "채팅 프로그램" 멀티 프로세스를 이용해서 간단한 채팅 프로그램을 구현하는 것이었다. 이렇게 힌트를 주셔서 3일 정도 열심히 구글링하고 생각하면서 풀었다, 처음에는 프로세스가 뭔지도 잘 모르는 상태여서 이해하는데 오랜 시간이 걸렸고 구현한 다음 또 코드를 이해하는데 시간을 보냈다. ,, 잡다한 얘기는 여기까지 하고 풀이에 들어가보자! 하나 하나 설명하면서 이해하면 좋겠지만 너무 오래 걸릴수도 있고 글이 엄청 길어질 거 같기에 바로 코드부터 보겠다. 나는 보통 main부터 출발해서 그다음 구현한 함수들을 보는 편이기에 main부터 출발하겠다. C로 프로세스를 처음 짜본다면 밑 링크를 참고하면 좋을 것 같다. https://badayak.com/entr..

Sleeg
'CS/운영체제' 카테고리의 글 목록