본문 바로가기

프로세스2

좀비 프로세스 vs 고아 프로세스 fork()와 exec() fork()와 exec()는 모두 한 프로세스가 다른 프로세스를 실행시키기 위해 사용 → 즉, 자식 프로세스를 생성 fork() 시스템 호출은 새로운 프로세스를 위한 메모리를 할당 (부모의 내용을 그대로 복사하여 새로운 메모리 공간에 새롭게 할당하여 자식 프로세스를 생성) exec()는 fork()처럼 새로운 프로세스를 위해 메모리를 할당하지 않고, exec()를 호출한 프로세스에 덮어씌워지며 부모 프로세스의 내용을 복사하지 않음. 자식 프로세스가 자동으로 exec() 실행하여 부모 프로세스 내용 전부 지움. 좀비 프로세스 프로세스가 종료되었음에도 불구하고 메모리상에서 프로세스에 대한 정보가 사라지지 않은 상태 자식 프로세스가 부모 프로세스보다 먼저 종료되는 경우 좀비 프로세스.. 2023. 3. 12.
[Java] 쓰레드_프로세스와 쓰레드 프로세스 : '실행 중인 프로그램' 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있음 쓰레드 : 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것 멀티쓰레드 프로세스 : 둘 이상의 쓰레드를 가진 프로세스 멀티태스킹과 멀티쓰레딩 멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 CPU의 코어가 한 번에 단 하나의 작업만 수행할 수 있으므로, 실제로 동시에 처리되는 작업의 개수는 코어의 개수와 일치 멀티쓰레딩의 장단점 멀티 쓰레딩의 장점 - CPU의 사용률을 향상시킨다. - 자원을 보다 효율적으로 사용할 수 있다. - 사용자에 대한 응답성이 향상된다. - 작업이 분리되어 코드가 간결해진다. 메신저로 채팅하면서 파일을 다운로드 받.. 2022. 8. 2.