본문 바로가기

CS7

운영체제 기본 3 - CPU는 어떻게 컴퓨터를 제어하는가 지난번 시리즈에서 컴퓨터의 하드웨어는 크게 CPU, RAM, 보조 메모리, 입출력 장치 이렇게 4가지로 분류할 수 있다고 설명했다. 그 중 컴퓨터의 핵심이라고 볼 수 있는 부품은 CPU인데 이 장치가 사실상 컴퓨터를 제어한다고 볼 수 있다. 그렇다면 CPU는 어떻게 컴퓨터를 제어하는 것일까? 바로 인터럽트라는 시스템을 통해 제어하는데 오늘은 이 인터럽트에 대해서 알아보자. 1. 인터럽트란? 하드웨어나 소프트웨어가 아래의 2가지 이유로 인해 CPU에 알림을 보내는 행위 1) CPU가 이전에 시킨 작업이 끝났음 -> 그러니까 뭘 해야 될지 나에게 지금 당장 알려줘 2) 지금 당장 처리해야 할 중요한 연산 작업이 있음 -> 그러니까 이걸 지금 당장 처리해줘 참고로, 하드웨어가 일으키는 인터럽트는 그냥 인터럽트.. 2023. 7. 8.
가상화에 대하여 1. 가상화란? 하나의 실물 컴퓨팅 자원을 마치 여러 개인 것처럼 가상으로 쪼개 사용하거나, 여러 개의 실물 컴퓨팅 자원들을 묶어서 하나의 자원인 것처럼 사용하겠단 의미 하나의 실물 컴퓨팅 자원을 여러 개로 나눠 사용하는 예 → 각종 클라우드 서비스 여러 개의 실물 컴퓨팅 자원을 하나의 자원인 것처럼 사용하는 예 → 4기가짜리 프로그램을 깔려고 하는데 2기가짜리 하드가 2개 있네? 그러면 이걸 묶어서 사용 가상화는 기본적으로 실물 컴퓨팅 자원을 더 자유롭게 사용하기 위해 나온 개념이다. 그렇기 때문에 네트워크, OS, 하드디스크 등의 다양한 자원들을 가상화할 수 있고 개개의 가상화는 서로 독립적이다. 네트워크만 가상화하고 OS는 가상화하지 않을 수도 있고, OS를 가상화하고 하드디스크를 가상화하지 않을 .. 2023. 6. 29.
포트와 소켓 - 네트워크 네트워크에 연결된 모든 기기들을 node라고 부르고, 그 중에서도 IP주소가 할당된 것들은 특별히 Host라고 부른다. 이 Host 내부에서는 여러 개의 프로세스가 동시에 동작하는데 데이터를 주고받는 행위는 호스트 안에 있는 프로세스 레벨에서 이뤄진다. 프로세스는 쉽게 말해 실행 중인 프로그램이라고 생각하면 되는데 프로세스는 동시에 여러 개가 실행될 수 있다. 당장 우리가 매일 쓰는 스마트폰에서 유튜브 뮤직을 들으며 카톡을 할 수 있는 것도 이 때문이다. 그렇기 때문에 이 프로세스들을 구별해야 할 필요성이 생겼는데 그래서 나온 게 포트이다. 정리하자면 네트워크를 통해 데이터를 주고받는 프로세스를 호스트 컴퓨터가 식별하기 위해 호스트 내부적으로 프로세스에 할당하는 고유한 값을 포트라고 할 수 있다. 그렇다.. 2023. 6. 29.
운영체제 기본 2 - 컴퓨터 하드웨어 구조 운영 체제는 사용자와 하드웨어 간 매개 역할을 하는 소프트웨어다. 바꿔 말하면 우리가 컴퓨터 하드웨어와 소통을 할 수 있게 도와주는 역할을 하는 프로그램이라는 얘긴데, 그렇기 때문에 컴퓨터 하드웨어 시스템의 구조에 대해 이해해야 한다. 처음 만난 사람보다는 잘 아는 친구가 더 말이 잘 통하듯 하드웨어 시스템을 알면 운영 체제의 역할을 더 잘 이해할 수 있을 것이다. 컴퓨터 하드웨어 시스템은 크게 4가지 부분으로 나눌 수 있다. -> CPU, RAM, 보조메모리, 입출력장치 각각의 장치는 system bus라는 일종의 통로를 통해 서로 소통한다. 입력장치를 통해 사용자의 입력이 들어오면 CPU가 해당 입력을 해석하고 보조 메모리에서 필요한 데이터 뭉치를 가져와 RAM에 올린 다음 다시 CPU가 그 데이터 .. 2023. 6. 28.
운영체제 기본 1 - 운영체제란? 운영체제란? - 컴퓨터 하드웨어를 관리하는 프로그램 - 컴퓨터 사용자와 하드웨어 사이의 중개자 - 자원 배분, 메모리 관리, 보안 관리 등의 일을 맡음 이렇게만 설명하면 그냥 그런가보다 싶지 감은 잘 오지 않을 것이다. 이렇게 생각해 보자. 운영 체제는 정부가 하는 일과 비슷한 일을 한다. 정부가 없다고 상상해보자. 정부가 없는데 외국 군대가 쳐들어온다면 어떻게 될까? 군대가 없으므로, 우리가 직접 죽창이라도 들고 싸워야 한다. 정부가 없는데 억울한 일을 당하면 어떻게 해야 할까? 법원이 없으므로, 우리가 망치를 들고 직접 응징해야 한다. 그 외 기타 수많은 행정 서비스, 복지 서비스 등등 모든 서비스가 올스탑될 것이다. 그렇다면 컴퓨터에 운영체제가 없다고 상상해보자. MS 워드에 글을 타이핑하는 것만 .. 2023. 6. 27.
TCP/IP 프로토콜 간단 요약정리 1. 프로토콜이란? TCP/IP 프로토콜에서 프로토콜은 "통신 규약"을 의미한다. 수많은 자동차가 효율적으로 통행하기 위해 "신호 체계"가 필요하듯, 컴퓨터와 컴퓨터가 효율적으로 통신하기 위해서는 "통신 규약"이 필요하다. 이런 통신 규약 중에서도 TCP 프로토콜과 IP 프로토콜이 가장 널리 쓰이기 때문에 둘을 묶어서 TCP/IP 프로토콜이라고 부른다. 2. TCP/IP의 토대 - 패킷통신 데이터를 pakcet이라고 하는 작은 단위로 나눠서 전송하는 방식이다. 그냥 보내면 되지 왜 번거롭게 잘게 쪼개는 것일까? 작은 단위로 나누지 않으면 크기가 큰 데이터의 경우 네트워크의 대역폭을 너무 많이 차지하게 되어 네트워크의 흐름을 방해하게 된다. 마치 좁은 도로에 대형 트럭이 나타나면 교통정체가 발생하는 것과 .. 2023. 6. 25.
리눅스 TTY 모드에 대하여 1. TTY(Teletypewriter)의 역사 - TTY의 전신은 teleprinter이다. 메시지를 보내려면 메시지를 받는 쪽의 teleprinter 앞에 사람이 앉아서 메시지를 일일이 받아 적어야 했다. 즉, 통신이 이뤄지기 위해서는 반드시 두 명의 운영 요원이 동시에 teleprinter 앞에 상주하고 있어야 통신이 가능했던 데다 두 명 모두 모스 부호를 알아야만 서로 소통이 가능했기 때문에 통신에 많은 제약과 한계가 있었다. - 그래서 등장한 것이 teletypewriter이다. 모스 부호 대신 키보드로 소통을 하게 되면서 운용자가 알파벳만 알고 있으면 통신을 할 수 있게 되었다. 거기다 print된 메시지를 주고받기 때문에 두 명의 운영 요원이 동시에 기계 앞에 상주할 필요가 없게 되었다. 야.. 2023. 6. 24.