전체 글 7

🖥️운영체제 - 운영체제란 무엇인가?

흔히 사용하는 데스트톱, 노트북, 스마트폰에는 모두 운영체제가 설치되어 있습니다. 윈도우와 macOS,리눅스, 안드로이드, iOS 등이 대표적입니다. 이러한 운영체제가 왜 필요한 지, 어떤 역할을 하는지 정리하고 이후 자세히 정리해서 포스팅하려고 합니다.  운영체제란운영체제(OS, Operating System)는 컴퓨터 시스템의 하드웨어와 소프트웨어를 관리하고, 사용자와 컴퓨터 간의 인터페이스를 제공하는 시스템 소프트웨어입니다. 우리가 사용하는 모든 프로그램은 하드웨어를 사용합니다. 1+2를 계산하는 프로그램은 CPU가 필요하고, 파일을 하드 디스크에 저장하는 프로그램은 하드 디스크를 필요로 합니다. 이때 프로그램 실행에 필요한 요소들을 시스템 자원이라 하고, 운영체제는 실행할 프로그램에 필요한 자원을..

CS/운영체제 2025.03.20

백준 3273번 - 두 수의 합

이중 for문을 통해 모든 경우를 체크할 수도 있겠지만, 그렇게 풀 경우 시간초과가 날 것입니다. 문제에서 주어지는 수열은 모두 서로 다른 양의 정수라는 점을 이용하여 모든 수를 정렬 후 , 두 개의 포인터를 사용하여 더 간단하게 풀어보겠습니다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Boj3273 { public static void main(String[] args) throws IOException { BufferedReader br = n..

알고리즘 2025.03.17

🖥️컴퓨터 구조 - 명령어 사이클과 인터럽트

명령어 사이클CPU가 하나의 명령어를 처리하는 과정을 명령어 사이클이라고 합니다. 일반적으로 명령어 사이클은 4개의 단계로 구성됩니다.  1) 인출(Fetch)메모리에서 명령어를 가져오는 단계프로그램 카운터(PC)에 저장된 주소를 사용하여 해당 명령어를 메모리에서 읽어옵니다.읽어온 명령어는 명령어 레지스터(IR)에 저장됩니다.PC 값이 증가하여 다음 명령어를 가리킵니다.2) 해독(Decode)명령어를 해석하는 단계명령어 레지스터(IR)에 저장된 명령어를 분석하여 어떤 연산을 수행해야 하는지 결정합니다.연산 코드(OPCODE)와 필요하면 피연산자(Operand)도 확인합니다.3) 실행(Execute)해독한 명령을 실제로 실행하는 단계산술 및 논리 연산(ALU 사용), 메모리 접근, 데이터 이동, 입출력 등..

CS/컴퓨터 구조 2025.03.17

🖥️컴퓨터 구조 - 레지스터

ALU,제어장치에 이어서 마지막으로 CPU의 구성 요소인 레지스터에 대해 정리해보려고 합니다.CPU마다 여러 개의 레지스터를 가지고 있고, 각기 다른 역할을 가지고 있습니다. 그 중 많은 CPU가 공통으로 포함하고 있고, 중요한 8개의 레지스터에 대해 정리하겠습니다. 1. 프로그램 카운터 (Program Counter,PC)프로그램 카운터는 메모리에서 가져올 명령어의 주소, 즉 다음에 실행할 명령어의 주소를 저장합니다. 프로그램 카운터를 명령어 포인터라고 부르는 CPU도 있습니다.  2. 명령어 레지스터 (Instruction Registr, IR)명령어 레지스터는 해석할 명령어, 즉 방금 메모리에서 읽어 들인 명령어를 저장하는 레지스터입니다. 제어장치에 대한 포스팅에서 정리한 것 처럼 제어장치는 명령어..

CS/컴퓨터 구조 2025.03.11

🖥️컴퓨터 구조 - CPU의 제어 장치

이전 포스트에서 CPU의 ALU에 대하여 정리했고, 오늘은 제어장치에 대하여 정리해보려한다.제어 장치 (Control unit)제어 장치는 CPU의 두뇌 역할을 하는 부분으로, 명령어를 해석하고, CPU 내부의 모든 부품(ALU, 레지스터, 메모리 등)을 제어하는 역할을 한다. ALU, 레지스터, 메모리 등 각 하드웨어가 언제 어떤 동작을 해야 하는지 결정하는 신호(제어 신호, Control Signal)를 생성한다.위 그림은 제어장치가 무엇을 받아들이고, 무엇을 내보내는지 나타낸다. 클럭 (Clock) 클럭이란 컴퓨터의 모든 부품을 움직이게 할 수 있는 시간 단위이다. 일정한 주기로 HIGH(1)와 LOW(0) 상태를 반복하면서 CPU의 동작 속도를 결정한다.📌 클럭 신호의 주요 특징1️⃣ CPU 내..

CS/컴퓨터 구조 2025.03.07

🖥️컴퓨터 구조 - CPU의 ALU

컴퓨터 구조의 4가지 핵심 부붐 중 CPU는 ALU, 제어장치, 레지스터라는 구성 요소를 가지고 있다. 그 중 ALU가 어떤 일을 하는 지 정리해보려고 한다. ALU (Arithmetic Logic Unit, 산술 논리 연산 장치)ALU는 CPU의 가장 중요한 구성 요소로, 산술 연산(덧셈,뺄셈 등)과 논리 연산(AND,OR,NOT 등)을 수행한다. ALU는 아래 그림처럼 정보를 받아들이고 내보낸다.OP Code(연산 코드)OP Code는 ALU가 수행해야 할 연산을 지정하는 코드이다. CPU의 제어장치가 명령어를 해석해서 OP Code를 확인하고, 이를 기반으로 ALU를 포함한 내부 CPU 내부 부품들에게 적절한 신호를 보낸다. Integer Operand(정수 피연산자)ALU가 연산을 수행할 때 입력..

CS/컴퓨터 구조 2025.03.06

🖥️컴퓨터 구조 - 컴퓨터의 4가지 핵심 부품과 역할

">최근 혼자 공부하는 컴퓨터구조+운영체제 책을 사서 공부중이고, 이를 기록으로 남기려고 합니다.   세상에는 라즈베리 파이와 같은 작은 컴퓨터부터 스마트폰, 데스크탑, 노트북, 서버컴퓨터 등 용도와 크기가 다 제각각이지만, 이를 이루는 핵심 부품은 크게 다르지 않다.알아야 할 4가지 핵심 부품은 중앙처리장치(CPU), 주기억장치, 보조기억장치, 입출력장치이다.  1. 중앙처리장치 (CPU) CPU는 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석,실행하는 부품이다. CPU의 내부 구성 요소를 알아야 CPU의 작동 원리를 이해할 수 있다. 그 중 가장 중요한 3가지 요소는 아래와 같다. 산술논리연산장치(ALU)    ALU는 계산만을 수행하는 부품이다. 컴퓨터 내부에서 수행되는 대부분의 ..

CS/컴퓨터 구조 2025.03.05