컴퓨터/운영체제
-
프로세스와 스레드의 차이컴퓨터/운영체제 2021. 3. 24. 23:49
코딩 인터뷰 완전 분석 p.592 HTTP 완벽가이드 pp. 135-136 프로세스와 스레드 모두 하나의 프로그램이 여러 작업을 동시에 할 수 있게 해준다. 성능상 차이가 존재하여 고성능 서버는 멀티프로세스인 동시에 멀티 스레드다. 프로세스와 스레드는 서로 관련은 있지만 기본적으로 다르다.[ 프로세스 ]- 프로세스는 실행되고 있는 프로그램의 인스턴스라고 생각할 수 있다. 프로세스는 CPU 시간이나 메모리 등의 시스템 자원이 할당되는 독립적인 개체이다. - 어떤 프로그램의 자신만의 변수집합을 갖는 하나의 독립된 제어흐름- 프로세스는 별도의 주소 공간에서 실행된다.- 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다.한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간 통신(inter-..
-
[ 운영체제 ] 세마포어( Semaphore ) 와 Mutex, deadlock, starvation, priority inversion컴퓨터/운영체제 2020. 11. 15. 20:09
Q. busy waiting * What is a Semaphore? - A semaphore is an integer variable, shared among multiple processes. The main aim of using a semaphore is process synchronization and access control for a common resource in a concurrent environment. - 예츠허르 다익스트라가 제안한 교착 상태에 대한 해법으로 두개의 Atomic한 함수로 제어되는 정수 변수 멀티프로그래밍 환경에서 공유자원에 대한 접근 제어 알고리즘, 상호배제 원리를 보장하는 알고리즘(Mutual Exclusion) - 임계구역에 대하여 각각의 프로세스들의 접근을..