컴퓨터 아키텍쳐 프로세스(process)
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1 프로세스 개념(Process Concept)

2 프로세스 스케줄링(Process Scheduling)

3 프로세스 연산(Operation on Processes)
4 상호 협조 프로세스들(Cooperating Processes)

본문내용

종단(kill)시킬 수 있음
또한, 사용자에 의한 프로세스 종단도 가능함
- 부모 프로세스가 자식을 식별할 수 있도록, 생성된 프로세스는 신원을 부모에게 전달함
- 부모 프로세스가 자식을 종료시키는 경우
1) 자식이 할당된 자원을 초과하여 사용하는 경우
→ 부모가 자식의 상태를 조사하는 메커니즘이 필요
2) 자식에게 할당된 업무(task)가 더 이상 필요 없는 경우
3) 운영체제에 의해 부모가 종료되면 더 이상 자식이 수행되는 것이 허용되지 않는 경우
→ “cascading termination”: 대부분의 운영체제에서 채택
▶ 예: UNIX
- 프로세스는 exit 시스템 호출을 하고 종료함
- 부모 프로세스는 wait 시스템 호출을 하고 기다림
- 자식 프로세스는 종료할 때 부모 프로세스에게 자신의 식별자를 알림
- 부모 프로세스가 종료되면 운영체제는 모든 자식을 종료시킴
4 상호 협조 프로세스들(Cooperating Processes)
▶ 병행 프로세스들의 유형
- 상호 독립적인 프로세스들: 상호 영향을 주고받지 않는 경우
→ 데이터를 공유하지 않는 경우는 명백히 독립적임
- 상호 협조적인 프로세스들: 상호 영향을 주고받는 경우
→ 데이터를 공유하는 경우는 명백히 협조적임
▶ 프로세스 협조를 허용하는 이유
- 정보 공유(information sharing): 여러 사용자가 동일한 정보에 동시 접근하는 경우
- 연산 속도 증가(computation speedup): 특정 태스크를 부태스크로 나누어 병행처리를 하는 경우
→ 다수의 처리 요소(중앙처리장치, 입출력 채널 등)를 갖는 경우에 가능
- 모듈성(modularity): 시스템 기능을 구분된 프로세스들로 나누어 모듈화 하는 경우
- 편의성(convenience): 한 사용자가 여러 태스크를 동시에 처리하는 경우
* 상호 협조적인 병행 수행을 위해서는 프로세스간의 통신(4.6절)과 동기화(6장)를 위한 메커니즘이 필요함
▶ 상호 협조적인 프로세스의 예: 생산자-소비자 문제
- 생산자 프로세스: 정보를 생산
소비자 프로세스: 정보를 소비
ex) 인쇄 프로그램 →(문자)→ 프린터 구동기
컴파일러 →(어셈블리 코드)→ 어셈블러 →(목적 모듈)→ 적재기(loader)
- 생산자와 소비자 프로세스의 병행 수행을 위해 버퍼의 저장소(pool)가 필요하고 동기화 되어야 함
1) 무한 버퍼: 버퍼의 수에 제한이 없는 경우
2) 유한 버퍼: 버퍼의 수가 제한되는 경우
- 기억장치에 의한 유한 버퍼를 구현한 생산자-소비자 프로그램: p.110-111
1) 공유 변수
- buffer: 순환 배열(circular array)
- in: 다음의 빈 버퍼를 가리키는 포인터
- out: 첫 번째의 찬 버퍼를 가리키는 포인터
2) 생산자 프로세스와 소비자 프로세스
- buffer가 빈 상태: in = out인 경우
- buffer가 가득 찬 상태: in+1 = out인 상태(실제로는 n-1개만 찬 상태임)
- no_op: 아무 것도 하지 않는 명령어
참고 도서
운영 체제 개념 / 홍릉 과학출판사 / 김길창

키워드

  • 가격1,000
  • 페이지수7페이지
  • 등록일2010.04.05
  • 저작시기2006.10
  • 파일형식한글(hwp)
  • 자료번호#596650
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니