본문 바로가기

OS-서버

프로세스란

반응형

   정의 
CPU(프로세서)에 의해 실행중인 프로그램

 

  종류
동기식 - 연속처리 = 단일 프로세스(과거)

비동기식 - 간헐처리 = 다중 프로세스 환경(현대)

 

 

   상태 전이도

프로세스 정보 및 실행 제어를 담당한다.

 

  과정

Submit   - 프로그램 실행 시 메모리에 진입하는 상태
Dispatch - 준비에서 실행상태로 변하는 시점
Wake-Up - I/O 작업 완료
timerun-out - CPU 할당된 시간만큼 사용 후 준비상태로
Suspend - 보류상태에서 OS에 의해 일시적으로 벗어나는 상태 EX) 프린터,CD 미삽입 등
Resume - Suspended에서 다시 활성상태로 복귀

 

상태전이도 과정

사진 출처

https://www.google.com/search?biw=1920&bih=937&tbm=isch&sa=1&ei=kxX-XJGpBceA8QXzrKrwBg&q=%EC%83%81%ED%83%9C%EC%A0%84%EC%9D%B4%EB%8F%84&oq=%EC%83%81%ED%83%9C%EC%A0%84%EC%9D%B4%EB%8F%84&gs_l=img.3..0j0i24j0i5i30.3807.3807..4036...0.0..0.95.95.1......0....1..gws-wiz-img.1fg_yJtFtjY#imgrc=pgHDRDn6daooFM:

 

 

  장치 및 기술
Spool(스풀) - 하드디스크 임시저장 영역

 

스풀러 = 프로그램
스풀링 = 스풀 행위


Buffer(버퍼) - 주기억장치의 임시저장 영역
Channel(채널) - I/O 통신하기 위한 간단한 장치로 구성
상태 - 준비,실행,보류

 

   문맥교환(Context Switching)

실행 중인 프로세스가 CPU 할당 시간이 끝나거나 인터럽트 발생 시

CPU가 이전 프로세스 상태를 PCB에 보관 , 

또 다른 프로세스의 정보를 PCB에서 읽어 레지스터에 적재하는 과정이다.

 

  처리순서
CPU - 프로세스1 처리 중..
프로세스2 살아남

 

프로세스1에 대한 상태정보 PCB에 보관
CPU - 프로세스2 처리중

 

프로세스1 살아남
PCB 테이블에 저장해뒀던 프로세스1 정보 불러와서 작업 재게

 

 

  시간할당량 = 문맥교환수 , 인터럽트 횟수 , 오버헤드 증가
프로세스가 동시수행되는 느낌이지만 시스템 부담이 커진다.

 

 

   PCB 테이블(Process Control Block)

프로세스 제어 정보를 저장해 놓는 구조체다.

 

항목
식별자
상태정보
PC(계수기)
우선순위
프로세스 적재된 곳을 가리키는 포인터  
CPU의 각종 레지스터 상태
계정 정보(시간할당량)
부모 및 자식을 가리키는 포인터
생성과정
식별자 할당
프로세스 제어블록(PCB) 할당
제어블록 초기화

 

   메모리 영역
텍스트 영역(text,code) 프로그램 명령코드 저장하는 메모리 영역(hex , bin 저장)
데이터 영역(전역,정적,배열,구조체 등 저장)
힙 영역 ( malloc,new()와 같은  동적 메모리 할당 시 사용)
스택 영역( 지역변수,매개변수,리턴 값 등 임시데이터를 저장)

반응형

'OS-서버' 카테고리의 다른 글

병행성 제어 , 스케줄링 마인드맵  (0) 2019.06.11
인터럽트와 트랩  (0) 2019.06.11
윈도우와 리눅스 파일 시스템 종류  (0) 2019.06.04
CPU 가상코어(스레드)  (0) 2019.04.17
컴퓨터 부팅 과정  (0) 2018.12.09