- 장점
- CPU 사용률이 증가하여 많은 사용자의 프로그램이 거의 동시에 할당받는 듯한 느낌을 준다.
- 즉, 프로세서 사용을 최대화한다.
- 단점
- 메모리 관리나 프로세스 정보 보관이 복잡하다
- 여러 작업이 준비를 갖추고 있을 떄 다음 작업을 선택할 알고리즘이 정의되어있어야 한다. -> 스케줄링
- 다중 프로그래밍을 논리적으로 확장, CPU가 다중 작업을 교대로 수행해서 다수의 사용자가 자원을 공유할 수 있도록 한다.
- 각 프로그램에 일정한 CPU 사용시간(time slice) 또는 규정 시간량 (quantum) 할당을 주고 컴퓨터와 대화하는 형식으로 실행한다.
- 응답시간을 최소화할 수 있다.
장/단점 | 내용 |
---|---|
장점 | - 빠른 응답 제공 - 소프트웨어의 중복 회피 가능 - CPU 유휴시간 감소 |
단점 | - 신뢰성 문제 - 보안 의문 및 사용자 프로그램과 데이터의 무결성 - 데이터 통신의 문제 |
- 단일 컴퓨터 시스템 내에서 둘 이상의 CPU를 사용하여 여러 프로세스를 동시에 실행하는 것이다.
- CPU 하나가 고장나도 다른 CPU를 사용하여 작업을 계속한다. - 신뢰성 높음
- CPU 간의 연결, 상호작용, 역할 분담 등을 고려해야한다.
-
데이터 처리 시스템으로 정의
-
항상 온라인 상태여야 한다.
-
고정 시간 제약을 잘 정의하지 않으면 시스템 에러가 생긴다.
-
특성에 따라 경성과 연성으로 나뉜다.
-
경성
- 작업의 실행 시작이나 완료에 대한 시간 제약 조건을 지키지 못할 때 시스템에 치명적인 영향을 주는 시스템.
- 시간의 정확성과 컴퓨팅 예측성이 필요하다.
-
연성
- 시간 제약 조건은 있으나 이를 지키지 못해도 치명적인 영향을 미치지 않는 시스템.