운영체제의 시작과 발전 - 운영체제의 태동

이재민·2023년 3월 18일
0

운영체제

목록 보기
2/2

2.1 고정 프로그램 컴퓨터 시대

컴퓨터가 처음 제작된 당시에는 운영체제가 있지 않았다. 또한 제대로된 언어가 존재하지 않았고 CPU 메모리의 개념이 분리되지 않아 메모리에 적재한다는 개념이 없었다. 실행하고자 하는 작업을 종이로 스케치한 후 하드웨어 스위치를 세팅하고 전선을 직접 연결하여 컴퓨터 자체가 하나의 프로그램이 되는 방식이었다. 이러한 방식을 고정 프로그램 컴퓨터라 한다.

2.2 하드웨어와 소프트웨어를 분리시킨 내장 프로그래밍 등장

폰노이만이 컴퓨터를 하드웨어와 소프트웨어로 분히하는 내장 프로그램 컴퓨터 개념을 최초로 제시하였다.
내장 프로그램은 컴퓨터 하드웨어를 그대로 두고 프로그램을 메모리에 적재하여 cPU가 실행하는 방식이다.

내장 프로그램의 등장으로

  • 컴퓨터 구조에서 CPU와 메모리 분리
  • 하드웨어와 소프트웨어 분리
  • 실행할 프로그램을 적재 후, CPU가 프로그램을 실행
  • 프로그램은 입력 장치를 통해 메모리에 적재

실현되었다.

2.3 프로그램 로더의 발견 - 운영체제 개념의 시작

최초의 내장 프로그램 방식인 IBM 701에서 개발자가 24개의 명령보다 긴 프로그램을 작성하기 위해서는 2장 이상의 종이를 사용해야 했다. 첫번째 종이에는 프로그램을 메모리 적재하는 코드를 작성하고 이후 종이부터 목적 프로그램을 작성했다. 이 첫 번째 종이의 코드를 로더(Loader)라 불렸다.

시간이 흘러 로더 프로그램이 모든 개발자에게 공통적으로 필요하고 이를 매번 작성하는 것이 낭비라고 생각하게 되었다. 이에 IBM 701의 고객이던 GM은 제대로된 로더 프로그램을 개발하였다. GM은 이를 모니터(Monitor)라 불렸고 후대에는 GM OS라 불렸다. 현대에 와서 이 GM OS를 최초의 원시 운영체제라 불린다.

1956년 GM은 NAA사는 다음과 같은 문제를 해결하기 위해 협업하여 GM OS를 확장하여 IBM 704에 사용할 최초의 운영체제 GM-NAA I/O 소프트웨어를 개발하였다.

  • 개발자들은 대기번호를 뽑기 자신의 차례를 기다린다.
  • 개발자가 프로그램을 실행시킬 때마다 컴퓨터 시스템 설정을 반복해야 했시 때문에 시간이 낭비 된다.
  • 입출력창치를 제어하는 프로그램은 개발자가 작성한다

GM-NAA I/O는 작업들을 한 번에 하나씩 순차적으로 적재하여 실행시키는 일종의 배치 운영체제였다

GM-NAA I/O 운영체제는 다음 3자기의 코드로 구성되어있다.

  • 어셈블러 코드 : 사용자가 작성한 어셈블리어를 기계어로 번역
  • 로더 프로그램 : 프로그램을 메모리에 적재
  • 공통 입출력 코드 및 메인 코드 : 장치 입출력을 다루는 코드, 운영체제 시작 코드

참고 자료 : 명품 운영체제
황기태 저 | 생능출판사 |

profile
안녕하세요

0개의 댓글