본문 바로가기

운영체제

운영체제; 컴퓨터 시스템 발전과정, 역사- 메인프레임mainframe, 배치 batch 시스템, Resident monitor

반응형

출처 : https://jhnyang.tistory.com/106

#Computer System Architecture 

오늘은 컴퓨터 시스템에 대해서 알아볼거예요.

Mainframe system (오늘 할 메인프레임 시스템), Multiprogramming systems, Time-sharing systems, desktop systems, parallel systems, Distributed systems, Clustered systems, Real-time systems, Embedded systems, Handheld systems

이게 다 컴퓨터 시스템 종류입니다. PC만 컴퓨터인 줄 아는데 우리 컴퓨터 시스템은 이렇게 많은 종류가 있어요!!

 

컴퓨터 시스템은 여러 방법에 따라 분류할 수 있습니다. 한 포스팅에 다 설명을 하기에는 내용이 너무 많으니까 역사적으로 진행되온 순서에 따라 차근 차근 다루면서 특징까지 살펴보도록 할게요.

 


 

System.out.println( "컴퓨터 시스템다양하다 ");

System.out.println( "오늘은 Mainframe system  ");

 

 

 

 

 

 

#Mainframe Systems

메인프레임 시스템이라고 얘기를 하는데 옛날에 최초에 컴퓨터를 만들었을 때 그 컴퓨터를 메인프레임이라고 불렀습니다.

당연히 초창기에 만들었으니까 덩치가 컸겠죠? 크기가 엄청 큰데 큰거에 비해서 실제로 컴퓨터가 빠르지도 않아요ㅎㅎ 초기 컴터니까요. 이런 컴퓨터 시스템을 우리가 메인프레임 시스템이라고 불렀다!

이 메인프레임 시스템을 맨 처음에 아주 제일 초기에 잘 만들어서 팔았던 회사가 IBM이예요.

← 이 사진도 IBM사의 z9 메인프레임 컴퓨터랍니다.

IBM이 이런 메인프레임 컴퓨터를 잘 만들어서 장사를 엄청 잘했죠. 

↓ 여기 아래에 보이는 이 사진은 IBM watson이라고 하는 슈퍼컴퓨터인데 지금 이거를 메인프레임이라고 부르지는 않아요.

 

 

 

하지만 이렇게 덩치가 큰 것을 메인프레임 시스템이라고 했고 초기에 은행들이 전산화 될 때 IBM이 메인 프레임 시스템을 도입해서 은행들이 대부분 전산화가 됐습니다.

 

지금 얘기하는 것은 1970년대, 80년대 즉 옛날 시절 얘기하는 거예요! 

메인프레임 시스템이라는 말은 요즘에는 잘 안쓰는 말입니다. 

 

 


 

System.out.println( "1970~80년대 초기 컴퓨터가 Mainframe system");

 

 

 

 

 

 

 

 

 

#Batch System 배치 시스템

이렇게 메인프레임 시스템이 나오던 시절에 운영체제라고 하는게 있었을까요? 이렇게 초창기 컴퓨터에는 운영체제라고 하는 것도 존재하지 않았습니다. 메인프레임 컴퓨터 시절에 프로그램이 동작하는 게 이렇게 배치 시스템이라고 하는 형태로 동작했어요. 당연히 프로세서도 한 개 였습니다. 

 

배치 시스템이라는 것은 프로그램이 하나 수행이 되는거예요.

하나 수행을 시켜놓고 그 프로그램이 쭉 수행되다가 다 끝나면 다음 프로그램 올려서 수행시키고, 개가 다 끝나면 그 다음 프로그램 올려서 수행시키고 이런 식으로 돌렸습니다.

 

즉! 프로그램이 하나밖에 안돌아가는 거죠!

그래서 운영체제라고 부르지도 않았는데..

← 이 그림에서 운영체제에 해당하는 이 프로그램이 하는 일은 프로그램을 메인 메모리에 올려놓고 메인 메모리에 올려놓은 프로그램이 수행이 돼서 끝나기를 기다리는 거죠.

끝나면 이 메모리 영역에 있는 이 프로그램 대신에 다른 프로그램을 메모리에 올려놓고 개를 실행시켜 주고 그리고 끝나기를 기다리는 겁니다. 이 역할만 수행했어요.

그래서 예전에는 운영체제라고 안부르고 Resident monitor라고 불렀어요.

모니터가 말그대로 모니텅링 하는거고, Resident라는 말이 붙은 건 메모리에 항상 상주해있으면서 모든 일을 수행하는 프로그램이다 라고 해서 붙었습니다. 

 

운영체제라는 이름은 초기에는 나오지 않았다는 것! 

 

 


 

System.out.println( "배치시스템은 단일 수행 시스템");
System.out.println( "초기에 운영체제라 안부르고 Resident monitor 라 부름");

 

 

 

 

 

 

 

 

 

#Batch System의 문제?

근데 이렇게 동작을 하면 무슨 문제가 있을까요? 비싼 CPU가 낭비돼요!

CPU 놀고 있습니다. 프로그램이라 하는 것은 명령어들을  수행을 하잖아요. 명령어들  수행하다가 I/O장치에 '디스크에서 데이터를 읽어라' 라는 명령을 요청을 했다고 가정합시다. 그러면 CPU 하는 일은 이 작업이 끝날 때까지 기다리는 거예요. 그런데 지금 메모리에 프로그램이 하나밖에 없잖아요. I/O장치가  끝날 때까지 CPU는 결국 기다리고 있어야해요. CPU 엄청 나게 비싼 하드웨어 자원인데 놀리게 되는겁니다!

 

그럼 이 문제점을 해결하기 위해 다른 시스템이 나왔겠죠? 그것에 대해서 다음 포스팅에서 다뤄볼게요.

 


 

System.out.println( "CPU가 논다");

 

 

728x90