반응형


  운영체제 시스템의 종류에는 어떠한 것들이 있는지 정리하겠다. 먼저 일괄처리 시스템(Batch processing system)이란, 요구 사항이나 작업 성격이 비슷한 여러 개의 작업을 모아서 한 번에 처리하는 방식을 의미한다. 작업들을 모아서 한 번에 처리하기 때문에 즉각 처리하는 것이 아니다. 이와 다르게 온라인 시스템(Online system)은, 대화식 시스템(Interactive system)이라고도 하며 CPU와 주변장치가 온라인으로 연결되어 작동되고, 사용자와 컴퓨터 간에도 온라인 통신이 제공되어서 사용자가 요구를 하는 즉시 응답을 받을 수 있는 시스템을 말한다. 시분할 시스템(Time Sharing System)이란, 각 사용자에게 CPU를 점유하여 사용할 수 있는 일정 시간(time slice)를 할당하여, 주어진 시간 동안만 사용자가 컴퓨터를 사용하게끔 하는 것이다. 여러 사용자는 본인만 컴퓨터를 사용하는 것 같다는 생각을 하게 된다. 다중 프로그래밍 시스템(Multiprogramming system)이란, 여러 개의 사용자 프로그램이 동시에 실행되는 것처럼 처리하는 방식으로 CPU의 효율이 극대화된다. 한 사용자 프로그램이 CPU를 점유하여 사용하다가 입출력 장치를 사용해야 해서 CPU를 잠깐 필요로 하지 않을 동안에, 다른 사용자 프로그램이 CPU를 점유하여 사용하게 되는 것이다. 이렇게 작업들의 CPU 점유가 바뀌게 되는 것을 문맥 교환(Context switch)이라고 한다. CPU의 유휴시간이 적어지는 효과적인 방식이다. 다중처리 시스템(Multiprocessing System)이란, CPU가 여러 개인 처리 방식을 의미한다. 다수의 CPU가 공동 기억장치를 통해서 메모리를 공유하며, 단일 운영체제에 의해 제어가 가능하다. 실시간 시스템(Real time system)이란, 처리를 요구하는 즉시 처리되어 응답을 받을 수 있는 방식이다. 고속의 입출력 장치가 개발되고 마이크로컴퓨터가 나오면서 사용되게 된 처리 방식이다. 분산처리 시스템(Distributed Processing system)이란, 하나의 컴퓨터 시스템이 처리하던 것을 지역적으로 분산된 여러 개의 컴퓨터 시스템이 처리하도록 하여 통신망을 통해 주고받게끔 하는 것이다. 각 컴퓨터 시스템들은 서로 연결되어 있으며, 기능적으로 분산되어 있기 때문에 좀 더 효과적이고 신뢰성 있는 연산이 가능해진다. 임베디드 시스템(Embedded system)이란, 일반 컴퓨터가 아닌 전자제품과 정보 기기 등에 설치되는 마이크로프로세서에서 처리되도록 만든 소형화된 시스템으로, 정해진 특정 기능들만 수행할 수 있다. SoC(System On Chip)은, 모든 하드웨어 기능을 하나의 칩에서 처리할 수 있다는 의미이다. 즉, 하나의 칩에 완전 구동 가능한 제품과 시스템이 모두 들어있는 것을 의미한다.

운영체제의 입출력과 관련된 용어를 정리하겠다. 입력 버퍼링이란 프로세서가 데이터를 요구하기 전에 입력장치가 데이터를 주 기억장치에 복사하는 것을 의미한다. 출력 버퍼링이란 데이터를 주 기억장치에 저장하고 프로세서가 실행을 계속하는 동안에 장치에 데이터를 기록하는 것이다. 입출력 장치가 CPU의 속도보다 느리기 때문에, 프로그램의 실행 속도는 입출력 장치의 속도에 의해 결정된다. 그리고 스풀링이란, 입출력 장치와 CPU의 속도 차이를 없애기 위해서 디스크의 일부를 매우 큰 버퍼처럼 이용하는 방식으로, 이 공간을 스풀 공간이라고 한다. 버퍼는 주 기억장치에 위치하고 스풀은 디스크에 위치하게 된다. 마지막으로 인터럽트란 컴퓨터에 예상치 못한 일이 발생하면 그것을 CPU에게 알려주는 것으로서, 실행되는 프로그램이 아닌 다른 것들에 의해 발생되는 제어 흐름의 변경을 의미한다. 인터럽트가 발생하면, 현재 실행하고 있는 프로그램이 잠시 중단되고, 해당 프로그램의 상태를 기억장소에 저장한 뒤, 인터럽트가 발생한 이유인 특수 상태를 처리한 다음, 다시 원래 실행했던 프로그램을 이어서 실행하게 된다. 인터럽트는 외부 인터럽트와 내부 인터럽트, 소프트웨어 인터럽트로 나눌 수 있는데, 외부 인터럽트는 전원이나 입출력 장치 등의 CPU H/W 신호에 의해 발생하는 것으로 프로그램과 비동기적으로 발생하는 것이다. 반면에 내부 인터럽트는 프로그램의 문제 때문에 발생하는 것으로 프로그램과 동기적으로 발생하게 된다. 소프트웨어 인터럽트란, 프로그램 처리 중 명령의 요청에 의해서 발생하는 인터럽트로 대표적으로 Supervision call 인터럽트가 있다.

반응형

+ Recent posts