[ TERMS 01 ] 운영체제
1. 운영체제(Operating System)의 정의
운영체제는 컴퓨터의 하드웨어를 제어하고 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 하는 프로그램이다. 대표적으로 마이크로소프트사에서 개발한 컴퓨터용 운영체제인 윈도우, 애플이 개발한 맥 전용 운영체제인 맥 OS, 커뮤니티 주체로 개발한 공개 운영체제인 리눅스, 대부분의 현대적 컴퓨터 운영체제의 원형인 유닉스(UNIX) 등이 있다.
2. 운영체제는 어디서 접하게 될까?
컴퓨터를 켰을 때 바로 나오는 윈도우 화면이 운영체제이다. 운영체제는 주로 사용자와 컴퓨터 하드웨어 사이에서 중간 다리 역할을 한다. 컴퓨터를 사용하는 동안 계속 함께 하고 있습니다. 하드웨어는 크게 프로세서(CPU), 메모리(기억장치, RAM), 주변장치로구성되어 있다.
CPU(중앙 처리 장치)는 컴퓨터에서 뇌와 같은 역할을 담당한다. 하지만 이렇게 중요한 부품인 CPU도 운영체제가 없다면 고철덩어리에 불과하다. 다른 하드웨어인 메모리(기억장치)를 사용할 때도 운영체제는 중요한 역할 을 담당한다. 주기억장치는 인식하는 역할을 한다. 주기억장치 역시 중요한 하드웨어 부품이지만 공간 확보와 데이터가 어느 곳에 저장되는지 등을 운영체제로부터 지정받아야 한다. 이처럼 운영체제는 우리가 컴퓨터를 사용하는 매순간 작동되고 있다.
3. 운영체제 알아보기
> 시스템(하드웨어) 관리자
상사에게 문서를 작성하고 인쇄물을 출력하도록 지시받았다고 가정하자, 지시에 따라 한글이나 워드 같은 프로그램으로 문서를 작성한 후 인쇄한다. 우리가 문서를 작성하고 인쇄하는 동안 운영체제는두 가지 정도의 일을 처리한다.
첫째, 운영체제는 문서의 저장 위치를 지정합니다. 사용자는 문서편집 프로그램에서 문서를 작성한 후 저장을 한다. 작성한 파일은 하드디스크에 저장해야 하는데 저장매체인 하드디스크 자체는 어디에 어떻게 저장해야 되는지 스스로 결정하지 못한다. 따라서 저장 공간과 방법 역시 운영체제가 하드디스크에게 지정해준다.
둘째, 저장한 문서를 출력할 때 운영체제가 사용자와 프린터 사이에서 출력을 돕는 역할을 한다. 하드웨어는 프린터, 모니터, 키보드, 마우스 등 각종 기계장치를 의미하며 이 자원들을 운영체제가 관리한다. 따라서 하드웨어의 관리자 역할을하는 운영체제를 운영체제 관리자(Operate System manager)라고 지칭한다.
> 사용자와 컴퓨터 간의 커뮤니케이션 지원
초창기 컴퓨터는 운영체제가 미약했기 때문에 사용법이 굉장히 어려웠다. 때문에 일반인들은 사용하지 못했고, 컴퓨터를 사용하는 전문가 즉, 컴퓨터 오퍼레이터가 존재했다. 현재 컴퓨터 오퍼레이터가 더 이상 존재하지 않는 이유는 운영체제 덕분에 일반인들도 컴퓨터 사용이 쉬워졌기 때문이다. 컴퓨터 전문가의 도움 없이 일반인들도 컴퓨터와의 커뮤니케이션이 수월해졌다. 운영체제는 컴퓨터뿐만 아니라 스마트폰 안에도 존재하며 사용자와 스마트폰 사이의 커뮤니케이션을 담당한다.
> 응용프로그램 제어(운영체제=커널(Kernel)+셸(Shell))
운영체제는 커널과 셸로 구성된다. 커널은 실제로 CPU, 디스크 등을 관리하 는 곳이다. 셸은 사용자가 명령을 내리면 해석해서 그 결과를 보여 주는 역할을 한다.
위 그림을 보면 하드웨어 주변에서 하드웨어를 관리해 주는 커널이라는 프로그램이 있다. OS에서 제일 중요한 것이 커널이다. 주로 프로세스 관리, 메모리 관리, 저장장치 관리 등의 역할을 하며 운영체제의 성능을 좌우합니다.
셸은 껍질이라는 뜻인데, OS의 껍질이라고 볼 수 있습니다. 윈도우는 그래픽으로 명령하고, 리눅스는 보통 텍스트로 명령을 한다. 또한 윈도우 운영체제에서는 ‘명령 프롬포트(cmd)’로, 유닉스 기반인 맥(MAC) OX X 운영체제에서 는 ‘터미널’로 셸을 실행할 수 있습니다. 현재 파일의 디렉토리를 알고 싶을 때 ‘ls’ 라는 명령을 사용합니다. 이때 셸이 명령어를 해석하는 과정은 다음과 같다.
사용자가 현재 위치의 파일 목록을 조회하기 위해 ‘ls’ 명령어를 터 미널에서 입력했다고 가정하자, 셸은 명령어를 해석해서 커널로 넘기며, 커널은 하드웨어에게 명령어를 처리하게 만듭니다. 명령어를 처리한 후 응답값을 받으면 그 값을 다시 셸에게 전달하며 응답을 사용자에게 띄워준다. 이렇게 셸은 사용자에게 명령을 받고 명령을 실행해 주기 때문에 코멘드 인터프리터(command interpreter)라고도 한다. 인터프리터는 가이드나 통역이라고 이해하면 쉽다. 외국인 통역처럼 컴퓨터도 컴퓨터 언어를 잘 아는 셸의 도움을 통해 명령어를 해석하는 과정이 필요하다.
4. 운영체제를 사용하는 이유
컴퓨터는 동시다발적으로 일을 수행할 때가 많다. 하나의 프로세스가 여러 가지 일을 수행할 때도 운영체제가 메모리를 효율적으로 분배하여 여러 프로그램을 수월하게 사용할 수 있게 한다.
5. 운영체제 더 알아보기
- 중앙기억장치(Center Memory Unit)
- 스레드(Thread)
- 싱글 태스킹(Single Tasking) / 멀티 태스킹 (Multi Tasking)
'IT 도서 리뷰 > 개발자가 되기 위해 꼭 알아야 하는 IT 용어' 카테고리의 다른 글
[PART4] 클라우드/데브옵스 - TERMS 09 (1) | 2025.05.16 |
---|---|
[PART4] 클라우드/데브옵스 - TERMS 08 (1) | 2025.05.11 |
[PART4] 클라우드/데브옵스 - TERMS 07 (0) | 2025.05.02 |
[PART4] 클라우드/데브옵스 - TERMS 06 (0) | 2025.04.28 |
[PART4] 클라우드/데브옵스 - TERMS 05 (0) | 2025.04.20 |