컴퓨터왕/운영체제

프로세스

찌 ㅋ 2020. 3. 17. 01:36

프로세스

  • 메모리 상에서 실행 중인 프로그램
  • 스레드는 프로세스 안에서 실행되는 여러 흐름 단위, 프로세스마다 최소 1개의 스레드(메인 스레드)를 포함

멀티 프로세스

  • 하나의 컴퓨터에 여러 CPU를 사용, 하나 이상의 프로세스들을 동시에 처리 (병렬)
  • 장점
    • 안전성: 메모리 침범 문제를 OS 차원에서 해결
  • 단점
    • 각각 독립된 메모리 영역을 갖고 있어 작업량이 많을수록 오버헤드 발생 증가
    • Context Switching으로 인한 성능 저하

프로세스 주소 공간

프로그램이 CPU에 의해서 실행될 때 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당 됨

  • 코드 영역 - 프로그램 소스 코드를 저장하는 영역
  • 데이터 영역 - 전역 변수 저장 (초기화된 데이터)
  • 스택 영역 - 함수, 지역 변수 저장 (임시 메모리 영역)
  • 힙 - 동적 할당 시 사용

주소 공간을 나눈 이유 ⇒ 최대한 데이터를 공유해서 메모리 사용량을 줄이기 위해

  • 코드는 같은 프로그램 자체에서는 같은 내용이기 대문에 따로 관리하여 공유
  • 함수와 지역 변수는 스택 구조의 LIFO 특성을 가진 스택에서 실행
  • 공통으로 사용되는 전역변수는 따로 저장

'컴퓨터왕 > 운영체제' 카테고리의 다른 글

인터럽트  (0) 2020.03.17
프로세스와 스레드  (0) 2020.03.17
스레드  (0) 2020.03.17
운영체제란  (0) 2020.03.17