본문 바로가기

전체 글44

[컴퓨터구조][기초] 하드웨어 인터럽트 *해당 글은 '혼자 공부하는 컴퓨터구조 + 운영체제(강민철 지음)'을 참고하여 작성되었습니다.*구체적인 예시와 함께 더 자세히 공부하고 싶으신 분들은 해당 책을 읽어보시기를 추천드립니다.  지난 시간에는 인터럽트를 배웠습니다.인터럽트에는 동기 인터럽트와 비동기 인터럽트(하드웨어 인터럽트)가 있다고 했습니다.오늘은 이 하드웨어 인터럽트에 대해서 자세히 알아보겠습니다. 먼저, 하드웨어 인터럽트에 대해서 복습해봅시다.하드웨어 인터럽트는 CPU와 입출력장치의 속도 차이 때문에 필요합니다.입출력에 많은 시간이 걸리기 때문에, 입출력장치가 작업을 진행하는 동안 CPU가 다른 작업을 할 수 있게 하기 위해서죠!입출력장치는 자신의 작업이 끝나면 이를 CPU에게 알려주는데, 이를 하드웨어 인터럽트라고 합니다. 그렇다면 .. 2025. 3. 27.
[Python][기초] 파이썬 - 변수와 자료형 지난 시간에는 데이터를 입력하고 출력하는 코드를 배워보았습니다.하지만 우리가 더 높은 수준의 코드를 작성하기 위해서는 데이터를 어떻게 다루는지, 그리고 데이터의 종류를 알아야 합니다.먼저 데이터를 어떻게 다루는지를 변수를 통해 알아보겠습니다. 1. 변수우리는 지난 시간에 데이터를 입력하고 출력하면서 '변수'라는 것을 사용했습니다.터미널에 입력한 값을 a라는 변수에 저장했고, 그 다음에 a에 저장된 데이터를 출력했었죠?물론, 아래와 같은 코드를 작성해도 입력한 값을 출력할 수 있기는 합니다.print(input()) 이렇게 하면 input() 함수를 통해 입력받은 값을, 그 즉시 print() 함수를 통해 출력할 수 있죠. 하지만 우리가 입력받은 값을 바로 출력할 것이 아니라면, 입력받은 값을 어딘가에 저.. 2025. 3. 26.
[컴퓨터구조][기초] 인터럽트 - 동기 / 비동기(하드웨어) 인터럽트 *해당 글은 '혼자 공부하는 컴퓨터구조 + 운영체제(강민철 지음)'을 참고하여 작성되었습니다.*구체적인 예시와 함께 더 자세히 공부하고 싶으신 분들은 해당 책을 읽어보시기를 추천드립니다. 지난 시간에 명령어 사이클을 배웠습니다.하나의 명령어를 실행하는 과정에 대해서 배웠죠?이번 시간에는 인터럽트에 대해서 알아보겠습니다. 인터럽트(Interrupt)는 '방해하다', '중단시키다' 등의 의미를 가지고 있습니다.명령어 사이클에 따라 프로그램들이 실행되는데, 중간에 잠시 중단될 때가 있습니다.이처럼 예기치 못한 상황에 의해 CPU의 작업을 중단되는 상황 또는 중단시키는 신호를 인터럽트(Interrupt)라고 합니다.어떤 특별한 상황이 발생했으니, 잠시 하던 것을 멈추고 이것부터 처리해달라고 요청하는 거죠. 인터.. 2025. 3. 26.
[Python][기초] 파이썬 - 입출력 이번 시간부터 본격적으로 파이썬을 배워보겠습니다.첫 번째 시간은, 입출력입니다.왜 입출력부터 하는지 간단히 설명하겠습니다. 프로그램에는 기본적으로 들어가는 것이 있고, 나오는 것이 있습니다.물론 입력받거나 출력하지 않을 수도 있지만,일반적으로 어떤 데이터를 주면 그에 따라 실행하고 결과물을 내놓습니다.입력이 없다면 정해진 결과만 나올 것이고, 출력이 없다면 내가 그 프로그램으로부터 받을 수 있는 것이 없을 것입니다. 우리가 아직은 어떤 동작을 하도록 프로그램을 만들 수 없지만, 적어도 데이터를 입력받고 출력하는 것은 기본입니다.지금부터 배워보도록 하겠습니다. 1. 출력먼저, 출력하는 것부터 해보겠습니다.출력은 매우 간단합니다!print("Hello, World!") 위 코드를 실행하면, "Hello, W.. 2025. 3. 25.
[컴퓨터구조][기초] 명령어 사이클 *해당 글은 '혼자 공부하는 컴퓨터구조 + 운영체제(강민철 지음)'을 참고하여 작성되었습니다.*구체적인 예시와 함께 더 자세히 공부하고 싶으신 분들은 해당 책을 읽어보시기를 추천드립니다. 지난 시간까지 CPU에 대해서 배웠습니다.CPU는 명령어를 실행하는 장치죠?그래서 이번 시간에는 CPU가 명령어를 어떻게 실행하는지에 대해 알아보겠습니다. CPU가 명령어를 처리하는 과정에는 정해진 흐름이 있습니다.이 흐름을 명령어 사이클(Instruction Cycle)이라 합니다.명령어 사이클이란, 하나의 명령어를 실행하는 전체 과정(주기)이라고 생각하면 됩니다. CPU는 이렇게 정해진 흐름을 따라서 명령어들을 실행하게 되는데, 이 흐름이 중간에 끊어지기도 합니다.자동차가 갑자기 끼어드는 것처럼요!이렇게 실행 중인 .. 2025. 3. 25.
[Python][기초] 파이썬은 무엇인가? 파이썬을 시작하기 전에, 간단히 파이썬에 대해 알아보겠습니다.  1.  고급 프로그래밍 언어파이썬은 1991년, 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬이 발표한 고급 프로그래밍 언어입니다.여기서 중요한 것은, 고급 프로그래밍 언어라는 것입니다.고급 프로그래밍 언어란, 사람이 이해하기 쉽게 작성된 프로그래밍 언어라는 것입니다. 여러분이 한국어를 모르는 미국 사람에게 한국어로 어떤 행동을 지시해봅시다.그 미국 사람은 여러분의 말을 알아들을까요?당연히 못 알아듣죠. 한국어를 모르니까요.우리가 영어로 지시하거나, 한국어를 영어로 번역해줄 번역기가 필요합니다. 컴퓨터도 우리가 사용하는 말들을 모릅니다.기본적으로 컴퓨터는 0과 1로 된 정보들만 이해할 수 있거든요. 이것을 기계어라 합니다.하지만 그렇다고해서.. 2025. 3. 18.