본문 바로가기
운영체제

기본 체제

by dev_jisu 2023. 3. 16.

프로그램: 컴퓨터가 실행 할수있는 명령어들의 집합 

프로세스: 실행중인 프로그램 / 독립된 메모리 공간 

cpu : 명령어들을 실행

메모리: 프로세스가 cpu에서 실행되기 위해 기다리는  대기공간 

IO(input/output):

  • 파일 읽고 쓰기 
  • 네트워크 어딘가와의 데이터를 주고받음 
  • 키보드 ,마우스등 입출력 장치와 데이터를 주고 받음

 

단일 프로세스 시스템

단일 프로세스 시스템

보다 시피 프로세스를 단일로 처리하여 cpu 활용도 매우 낮음 

 

멀티 프로그래밍 

멀티 프로그래밍

그래서 대안으로 나온 멀티 프로그래밍 

p1 프로세스 입출력시간동안 cpu활용을 위해 p2 프로세스를 진행 

그러나 여기서 문제는 p1 진행 시간이 길어지면 p2의 대기시간 또한 길어짐 

 

그래서 대안으로 나온 멀티 테스킹 

멀티 테스킹

멀티 테스킹

p1 프로세스와 p2 프로세스를 잘게 쪼개 순간 순간 계속해서 진행하여 마치 같이 진행되는것처럼 진행 

그러나 정말 같이 진행되는것은 아니다 . 

프로세스 끼리 데이터 공유가 어려움 ---> 듀얼 코어의 등장 

 

스레드

프로세스는 1개 이상의 스레드를 가진다 . => cpu에서 실행되는 단위 ! 

특징  : 같은 프로세스의 스레드들 끼리는 컨텍스트 스위칭이 가볍다 > 빠름 

            자신의 프로세스 안에서 메모리 ,데이터  공유 쉬움 

 

멀티 프로세싱

멀티 프로세싱

cpu를 두개를 둬 각 스레드를 동시에 진행 

 

정리 

  1. 멀티 테스킹 : 한 CPU에 진행되는 프로세스 , 스레드 2개이상 
  2. 멀티 스레딩 : 한 프로세스에 스레드 두개 이상 
  3. 멀티 프로세싱  : 2개의 cpu 에 각자 진행 

 

댓글