비전공자 주목! ⚡️ 컴퓨터구조&운영체제, 1부 핵심만 콕! (바이브코딩러 필청)
컴퓨터 구조와 운영 체제, 쉽게 알아보자!
컴퓨터가 어떻게 돌아가는지, 그리고 우리가 컴퓨터를 쉽게 쓸 수 있게 해주는 운영 체제가 뭔지 궁금했지? 오늘은 이걸 아주 쉽게 설명해 줄게!
1. 컴퓨터는 어떻게 생겼을까? (컴퓨터 구조)
컴퓨터 안에는 꼭 필요한 몇 가지 부품들이 있어.
- CPU: 컴퓨터의 '뇌'라고 생각하면 돼. 모든 계산이랑 명령을 처리하는 곳이지.
- 메모리 (RAM): CPU가 일할 때 필요한 정보들을 잠깐 저장해두는 곳이야. 책상 위에 필요한 책들을 꺼내놓는 것과 비슷해.
- 디스크 (하드디스크, SSD): 우리가 사진, 영상, 게임 같은 것들을 영구적으로 저장하는 곳이야. 책장에 책을 꽂아두는 거지.
- 입출력 장치 (IO):
- 입력 (Input): 키보드, 마우스처럼 우리가 컴퓨터에 명령을 내리거나 정보를 주는 장치.
- 출력 (Output): 모니터, 프린터처럼 컴퓨터가 우리에게 보여주거나 결과를 내주는 장치.
이런 부품들은 버스라는 '도로'를 통해 서로 데이터를 주고받아. 마치 차가 도로를 다니면서 물건을 싣고 나르는 것처럼 말이야.
이런 구조를 폰 노이만 구조라고 하는데, 지금 컴퓨터도 이 기본 틀에서 크게 벗어나지 않았어. 물론 요즘 컴퓨터는 훨씬 더 복잡하지만, 기본적으로 CPU, 메모리, 디스크가 핵심이라는 건 똑같아!
2. 컴퓨터를 움직이는 '프로그램'이란 뭘까?
우리가 컴퓨터로 게임도 하고, 인터넷도 하고, 글씨도 쓰는 건 다 프로그램 덕분이야. 프로그램은 어떤 일을 하려고 만들어진 '소프트웨어'라고 생각하면 돼.
- 프로그래밍 언어: C, C++, 자바 같은 언어들로 프로그램을 만들어. 이런 언어들은 우리가 이해하기 쉬운 말로 되어 있어서 고급 언어라고 불러.
- 컴파일 vs 인터프리터:
- 컴파일 언어 (C, C++, 자바): 우리가 만든 고급 언어를 컴퓨터가 알아들을 수 있는 기계어 (0과 1로 된 언어)로 미리 바꿔주는 과정이 필요해. 이걸 컴파일이라고 해. 마치 외국어를 미리 번역해두는 거지. (자바는 바이트 코드라는 중간 형태로 바뀌어.)
- 인터프리터 언어 (자바스크립트, 파이썬): 이건 프로그램을 한 줄씩 읽으면서 바로바로 실행해. 마치 외국어를 들으면서 바로바로 이해하는 것처럼 말이야. 웹 브라우저에서 자바스크립트가 이렇게 실행되는 거야.
3. 실행되는 프로그램은 '프로세스'라고 불러!
우리가 컴퓨터에서 프로그램을 실행하면 (예: 게임 아이콘을 더블 클릭하면), 그 프로그램의 일부가 메모리로 올라와. 그리고 CPU가 그 메모리에 있는 명령들을 하나씩 읽어서 실행하는 거지.
이렇게 실행되고 있는 프로그램을 프로세스라고 불러. 프로그램은 그냥 파일로 저장되어 있는 거고, 프로세스는 실제로 돌아가고 있는 상태를 말하는 거야.
4. 왜 프로그램 전체가 메모리에 다 올라가지 않을까? (메모리 계층 구조)
메모리는 엄청 빠르지만, 디스크보다는 용량이 작고 가격도 비싸. 그래서 컴퓨터는 모든 프로그램을 메모리에 다 올릴 수 없어.
그래서 메모리 계층 구조라는 걸 사용해.
- 디스크: 용량이 크고 싸지만 느려. (책장)
- 메모리: 용량이 작고 비싸지만 빨라. (책상 위 책꽂이)
컴퓨터는 자주 쓸 것 같은 프로그램의 일부를 디스크에서 메모리로 가져와서 CPU가 빠르게 처리할 수 있게 하는 거야. 마치 책장에서 자주 보는 책을 책상 위 책꽂이에 꺼내두는 것처럼 말이지.
5. 여러 프로그램이 동시에 돌아가는 것처럼 보이는 이유? (시분할)
요즘 컴퓨터는 웹 브라우저, 게임, 문서 작업 등 여러 프로그램을 동시에 띄워놓고 써도 끊김 없이 잘 돌아가는 것처럼 보이지?
이건 시분할이라는 기술 덕분이야. CPU는 하나인데, 여러 프로그램에게 아주 짧은 시간씩 번갈아 가면서 일을 시키는 거야. 1초도 안 되는 짧은 시간에 여러 프로그램을 번갈아 가며 처리하니까, 마치 동시에 돌아가는 것처럼 보이는 거지.
6. 메모리가 부족하면 어떻게 될까? (메모리 교체)
그런데 메모리도 한계가 있잖아? 여러 프로그램이 메모리에 올라와서 실행되다가, 갑자기 메모리에 없는 다른 부분의 명령을 실행해야 할 때가 생길 수 있어.
이럴 때는 메모리 교체 기법이 사용돼. 메모리에 있는 내용 중에 당장 필요 없는 것을 디스크로 내보내고, 필요한 내용을 메모리로 가져오는 거지.
오늘은 컴퓨터 구조와 프로그램, 그리고 프로세스에 대해 알아봤어. 다음 영상에서는 메모리 교체 기법, 디스크 관리, CPU 관리 같은 운영 체제가 하는 더 많은 일들과 프로세스, 스레드 같은 개념에 대해 더 자세히 설명해 줄게!