본문 바로가기
디지털 이야기

운영체제에 대해서 알아가기, 종류, 발달, 번역기

by 브링bring 2022. 11. 21.
반응형

운영체제를 알기 전에 컴퓨터는 크게 나뉘는 2가지

컴퓨터를 두 가지로 구분해볼 수 있습니다. 첫 번째는 하드웨어입니다. 두 번째는 소프트웨어입니다. 하드웨어는 기계에 속하고 물리적인 형체를 띠고 있습니다. 눈에 보입니다. 하드웨어에서 또 구분하면, 가장 중요한 부분은 CPU입니다. 그리고 주기억장치(컴퓨터 메모리, 명령, 자료, 수치 등을 기억하는 컴퓨터 하드웨어 장치입니다.), 주변 장치로 구분할 수 있습니다. 소프트웨어는 크게 두 가지로 구분할 수 있습니다. 하나는 시스템 소프트웨어와 응용 소프트웨어로 구분됩니다. 시스템 소프트웨어는 말 그대로 시스템을 관리하는 영역입니다. 쉽게 말하면 컴퓨터를 부트 하는 순간부터 시작해서 하드웨어와 응용 프로그램이 잘 돌아갈 수 있도록 뒤에서 일하는 부분이라고 생각하면 되겠습니다. 응용 소프트웨어는 사용자가 어떤 작업을 하려고 할 때 사용되는 소프트웨어를 말합니다. 예를 들면 내가 컴퓨터에서 그림판으로 그림을 그리려고 할 때, '그림판' 프로그램을 실행합니다. 그럼 그 그림판이 응용 소프트웨어가 되겠습니다. 시스템 소프트웨어는 주로 운영체제를 생각해 보시면 되겠습니다.

운영체제는 무엇일까?

운영체제는 영어로 Operating System이라고 하며 약자로는 OS라고 말합니다. OS의 종류는 많이 있습니다. 과거부터 보면, MSDOS, 아콘, 아미가, 애플, 마이크로소프트, 구글, 디지털 리서치, 컴팩, HP, 인텔, IBM, SCO, 유닉스 등이 있습니다. 이것뿐만 아닙니다. 웹 응용체제가 있고, 상품으로 만든 운영체제와 취미로 만든 운영체제들도 있습니다. 이렇게 많은 운영체제가 있는 가운데 한 운영체제를 사용하는 걸까요? 그건 단순하게 생각하면 됩니다. 우리가 사용하는 스마트폰으로 예를 들어보겠습니다. 어떤 사람은 아이폰을 사용하고 어떤 사람은 안드로이드 폰을 사용합니다. 그건 사용하는 사람들에게 익숙하고 사용하기 편하기 때문입니다. 운영체제도 마찬가지입니다. 컴퓨터 운영체제 중에 마이크로 소프트에서 제작한 Windows와 애플에서 만든 맥을 사용하는 이유는 사용하기 편하고 익숙하기 때문입니다. 결국 운영체제는 사용자들이 사용하기 편하게 시스템을 만들어야 하는 것이 핵심입니다. 그리고 자원을 효율적으로 관리함으로써 신속하고 쾌적하게 이용할 수 있게 만들어야 합니다. 

운영체제 발달한 순서

운영체제도 시간에 따라 발달했습니다. 맨 처음에는 한 곳에 모아두었다가 처리하는 일괄처리였습니다. 한 달에 한 번 대청소한다든지, 수도세, 가스세, 전기세처럼 한꺼번에 모아서 작업하는 것을 말합니다. 두 번째는 실시간 처리입니다. 은행 업무 처리할 때나 예약 처리할 때 실시간으로 처리합니다. 은행에서 돈이 입금, 출금이 실시간으로 이행돼야 합니다. 예약은 영화 예약할 때나 강의 신청할 때 실시간으로 처리해야 중복이 일어나지 않습니다. 시분할 처리는 시간을 나눠서 처리하는 방식입니다. 예를 들면 시험공부할 때 한 과목씩 몰아서 공부하는 경우도 있지만 각 과목에 시간을 분배해서 공부하기도 합니다. 국어 1시간, 수학 1시간, 영어 1시간처럼 시간을 나누듯이 컴퓨터도 시간을 나눠서 일을 처리합니다. 컴퓨터 같은 경우에는 몇억 분의 1초 속도로 처리합니다. 사람이 보기에는 동시에 처리하는 것처럼 보입니다. 마지막으로 분산처리는 일 하나가 떨어졌을 때 여러 개의 컴퓨터가 그 일에 동시에 작업하는 것을 말합니다. 이 작업이 원활하게 진행하려면 여러 대 컴퓨터가 공유해야 합니다. 다시 말하면 연결되어 있어야 하고 이것을 네트워크 되어 있다고 말합니다. 추가로 알아야 하는 2가지가 있습니다. 하나는 다중처리이고 나머지는 다중 프로그램입니다. 이 두 개의 차이점은 다중 프로그래밍은 CPU 한 개가 처리합니다. 다중처리는 CPU 여러 개가 처리하는 방식입니다. 이들은 프로그램 여러 개를 처리합니다. 이 중에서 CPU가 2개만 있는 CPU를 듀얼 시스템 또는 듀플렉스 시스템이라고 말합니다. 듀얼이라는 뜻은 2개를 라틴어로 말할 때 나온 말입니다. 일이 들어오면 CPU 2개가 동시에 붙어서 작업하는 것을 말합니다. 듀플렉스는 듀얼과 조금 다릅니다. 일이 들어오면 먼저 CPU 한 개가 일 처리하고 만약 고장이 나면 남아있던 CPU가 바로 이어서 작업하는 것을 의미합니다.

운영체제가 하는 역할

운영체제의 역할은 첫 번째로 컴퓨터를 사용할 수 있도록 환경을 설정하는 겁니다. 두 번째로 효율적으로 이용할 수 있도록 자원을 관리합니다. 그리고 사용자에게 편의를 제공합니다.  운영체제가 필요한 이유는 목적이 분명해야 합니다. 운영체제는 처리능력이 높아야 합니다. 그리고 응답 시간은 짧아야 합니다. 응답 시간은 사용자가 실행해서 CPU가 받아들이고 결과를 나타내기까지 걸리는 시간입니다. 빠를수록 좋습니다. 그리고 정확한 값을 보여줘야 합니다. (신뢰도) 또한 사용 가능도가 높아야 합니다. 컴퓨터를 어제뿐만 아니라 오늘, 내일도 계속 사용할 수 있어야 합니다. 만약 컴퓨터에 명령 하나를 내릴 때마다 꺼지고 더 이상 안 켜진다면 사용 가능도가 낮다고 볼 수 있습니다.

운영체제는 크게 2가지로 나뉩니다

운영체제는 제어 프로그램과 처리 프로그램으로 구분합니다. 제어 프로그램은 데이터 관리, 작업관리, 감시가 있습니다. 명령을 수행하려면 데이터가 필요합니다. 예를 들면 1+2를 연산하는 작업을 할 때 1과 2라는 데이터가 있어야 연산이 가능합니다. 작업관리는 해야 하는 일을 관리하는 것을 의미합니다. 스케줄 관리입니다. 예를 들면 인쇄할 때 a, b, c, d라는 작업이 동시에 들어왔을 때 어느 일부터 우선순위를 줄 건지 판단합니다. 감시는 감독한다고도 볼 수 있습니다. 처리 프로그램은 언어 번역, 서비스(편의 제공), 문제 처리(급여 관리, 인사 관리, 회계 관리 등)가 있습니다.

언어 번역은 인간 언어에서 기계어로 바꾸는 과정을 말합니다

처리 프로그램 중에 언어 번역에 대해 자세히 보겠습니다. 언어 번역이라고 하면 단순히 외국어를 모국어로 바꾸는 기능을 의미하는 게 아닙니다. 여기서 언어 번역이라는 말은 인간이 사용하는 언어 즉, 원시 언어에서 컴퓨터 언어로 번역하는 프로그램입니다. 인간이 사용하는 언어를 원시 언어라고 합니다. 영어로 source program이라고 말합니다. 이것은 인간이 사용하는 언어이기 때문에 컴퓨터가 알아볼 수 없습니다. 컴퓨터는 인간이 사용하는 언어가 아닌 기계 언어만 읽습니다. 여기서 기계 언어로 바뀐 프로그램은 목적 프로그램, object program이라고 부릅니다. 목적 프로그램은 2진수로만 적혀 있습니다. 그래서 기계어라고 말하기도 합니다. 원시 프로그램에서 목적 프로그램으로 바꿀 때는 번역기가 필요합니다. 번역된 목적 프로그램은 번역됐다고 바로 실행되지 않습니다. 목적 프로그램인 다른 목적 프로그램과 연결되고 작업하려면 목적 프로그램 사이에 연결 편집 프로그램이 있어야 합니다. 그리고 연결 편집 프로그램에 의해서 모여진 목적 프로그램을 로드 모듈(Load Module)이라고 말합니다. 그리고 로드 모듈은 로더에 의해서 실행이 됩니다. 로더는 컴퓨터 운영체제의 일부분으로 특정 프로그램을 찾아서 주기억장치에 올립니다. 그리고 프로그램을 실행합니다. 이게 인간 언어에서 기계어로 번역되는 과정입니다.

번역기 종류

번역기 종류를 살펴보겠습니다. 일반적으로 기계어로 번역하는 번역기를 컴파일러라고 부릅니다. 그러나 특정 어셈블리 언어만 번역하는 번역기가 있습니다. 그것을 어셈블리어라고 부릅니다. 그리고 인터프리터가 있습니다. 인터프리터는 하나의 행 단위로 번역합니다. 작성하고 실행하고 작성하고 실행하는 순서로 번역합니다. 컴파일러는 작성부터 하고 나서 한꺼번에 번역합니다.

반응형

댓글