OS arrangement for test - 일괄처리 vs 다중처리
안녕하세요. 처음 포스팅을 하는데 바로 공부로 시작하네요~
조금 딱딱한데 눈에 들어오기 쉽도록 정리하도록 노력해보겠습니다^^
일괄 처리 시스템(Batch programming system) vs. 다중 처리 시스템(Multi programming system)
- 일괄 처리 시스템(Batch processing system)
· 하나의 작업이 CPU를 독점하기 때문에 처리 속도가 빠르다.
· 반환시간이 존재한다.
· CPU와 Channel 간에는 병렬 I/O를 수행하는데, I/O가 동시에 발생해도 문제가 되지 않도록 해주는 것이 "DataBuffer"이다. 즉 I/O device에서 I/O command가 있을 때만, buffer에서 channel을 통해 I/O device로 전송할 수 있다. (buffer가 없다면 메모리에서 직접 이 작업을 수행해야하는데, 메모리는 주소와 함께 데이터를 정적으로 가지고 있는 상태이다. 따라서 반드시 검색을 통해 값을 찾아야 하기 때문에 시간이 너무 오래 걸릴 것이다.)
· 결정적인 단점은 반환 시간이 존재하기 때문에, 대화형 프로그램에는 적절하지 않다는 것!
일종의 전자회로상 통로라고 생각할 수 있다.
속도 차이를 완충하는 역할 (입출력 대기 시간을 없앰)
Memory cycle 경쟁을 제어하는 역할을 한다. (channel쪽에서 읽거나 쓰는 것을 제어) 따라서 자기 디스크와 memory 사이의 고속 전송이나 대화형 단말기 화면을 다시 그리는 작업에 유용
User program이 아니라, H/W에 의해서 자동으로 메모리 특정부분에 있는 함수 (ISR)를 호출하는 개념, (IVT가 CPU 내에 있는데, CPU가 interrupt를 받으면 IVT를 보고 Controll을 이동시킨다.)
I/O의 완료, 예외 동작(파일의 끝, 패리티 오류 등)
trap은 프로그램 내에서 발생하는 것이고 inner Interrupt 또는 software Interrupt 라고도 한다. trap은 코드를 한줄 한줄 수행하다가 발생하는 것이기 때문에 동기적, interrupt는 H/W에서 발생시점이 일정하지 않기 때문에 비동기적이다.
다중 처리 시스템(Multi processing system)
· User area에 여러 프로그램을 적재, 이후 모두 작업 풀(job pool)에 적재하고 OS의 scheduling에 의하여 CPU를 할당받는다.
· 이로써 대화형 응용프로그램에 적절한 수행능력을 가질 수 있게 되었다.
· CPU를 여러 곳에 지속적으로 할당하여 CPU가 노는 일은 없다.시분할 시스템(Time sharing system)
· Time slice를 만들어 매 Interval의 끝마다 Interrupt를 발생 OS의 scheduling을 받는다.
· User에게 여러 개의 프로그램이 동시에 수행되는 것처럼 느껴지게 만든다. (Context-switching between processes)
· 단점은 OS의 scheduling이 빈번해지면 overhead가 발생할 수 있다는 점이다.
엄격한 시간제한을 필요로하는 경우 사용, Hard, soft real-time이 존재한다.
buffering - I/O device와 보조 기억장치 사이에서 사용한다. 또한 한 작업의 I/O와 계산을 동시에 수행할 수 있다. spooling - 디스크를 매우 큰 버퍼처럼 사용하는 것으로 한 작업의 I/O와 다른 작업의 계산을 동시에 수행할 수 있다. 즉 병렬성이 더 좋다는 이야기이다.
Leave OS arrangement for test - 일괄처리 vs 다중처리 to:
Read more #operating-system posts
Best Posts From already
We have not curated any of lineplus's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From already
- Web server and Application server
- docker commands in mac for beginner
- Apply AWS HTTPS(secure http) for EC2
- Why need Annotation in Java?
- What is MVC pattern in JSP?
- What is JVM in JAVA?
- Basic Sorting Algorithms
- Javascript and Node.Js based on Javascript V8 Engine
- Computer Network(Top-down) - Data-Link Layer
- Computer Network(Top-down) - Network Layer
- Computer Network(Top-down) - Transport Layer
- Computer Network(Top-down) - Application Layer
- Computer Network(Top-down) - packet switching and circuit switching
- OS arrangement for test - process & thread
- OS arrangement for test - Cooperating process and Synchronization (2)
- OS arrangement for test - Cooperating process and Synchronization (1)
- OS arrangement for test - scheduling
- OS arrangement for test - process
- OS arrangement for test - 컴퓨터와 OS연계
- OS arrangement for test - 일괄처리 vs 다중처리