입출력 장치
입출력 장치와 I/O 모듈 입출력 장치(I/O Device) 는 컴퓨터가 외부와 상호작용하기 위한 모든 하드웨어를 의미합니다. 키보드, 마우스처럼 데이터를 입력받는 장치와 모니터, 프린터처럼 데이터를 출력하는 장치, 그리고 네트워크 카드처럼 입출력을 모두 수행하는 장치로 나뉩니다. 이러한 장치들은 종류가 너무 다양하고, CPU에 비해 처리 속도가 매...
입출력 장치와 I/O 모듈 입출력 장치(I/O Device) 는 컴퓨터가 외부와 상호작용하기 위한 모든 하드웨어를 의미합니다. 키보드, 마우스처럼 데이터를 입력받는 장치와 모니터, 프린터처럼 데이터를 출력하는 장치, 그리고 네트워크 카드처럼 입출력을 모두 수행하는 장치로 나뉩니다. 이러한 장치들은 종류가 너무 다양하고, CPU에 비해 처리 속도가 매...
보조기억장치(Secondary Storage) 는 운영체제, 응용 프로그램, 사용자 파일 등 모든 데이터를 영구적으로 저장하는 공간입니다. 주기억장치보다 속도는 느리지만, 용량이 훨씬 크고 가격이 저렴하며 비휘발성(Non-volatile) 이라는 핵심적인 특징을 가집니다. 대표적으로 하드 디스크 드라이브(HDD) 와 솔리드 스테이트 드라이브(SSD) ...
주기억 장치(Main Memory) CPU와 가장 가까운 메모리 계층으로, CPU가 직접 접근하여 명령어와 데이터를 읽고 쓸 수 있는 작업공간입니다. 보조 기억 장치(SSD, HDD)에 저장된 프로그램과 데이터는 실행되는 순간 주기억 장치에 적재(Load)되어야 합니다. 주기억 장치의 역할 프로그램 명령어 저장 : 실행 중인 프로그램의 명령어가...
인터럽트(Interrupt) CPU가 프로그램을 실행하는 도중, 입출력 장치나 예외 상황 같은 긴급한 처리가 필요할 경우 이를 CPU에 알려주는 신호입니다. CPU가 주변 장치의 상태를 계속 확인하는 폴링(Polling) 방식의 비효율성을 해결하기 위해 고안되었습니다. 외부 인터럽트(Hardware Interrupt) 일반적으로 인터럽트는 외부 인터...
기계어(Machine Code) CPU가 직접 해독하고 실행할 수 있는 유일한 언어로, 0과 1의 조합으로 이루어진 저수준 명령어입니다. 어셈블리어(Assembly Language) 인간이 읽고 작성할 수 있는 코드(C, Java, Python)와 컴퓨터가 이해할 수 있는 기계어(0 또는 1)의 중간 단계 언어이며 기계어와 1:1로 대응되는 기호(S...
CPU의 핵심 구성 요소 산술/논리 연산 장치(Arithmetic Logic Unit, ALU) 덧셈, 뺄셈 같은 산술 연산과 AND, OR, NOT 같은 논리 연산을 직접 수행하는 디지털 회로입니다. 제어 장치로부터 특정 연산을 수행하라는 신호를 받으면, 레지스터에 저장된 데이터를 가져와 계산을 수행하고 그 결과를 다시 레지스터에 저장합니다. 제...
컴퓨터의 구성 요소 컴퓨터는 기능적으로 크게 중앙 처리 장치(CPU), 기억 장치(Memory), 입출력 장치(I/O Devices), 그리고 이들을 연결하는 시스템 버스(System Bus) 로 나눌 수 있습니다. 중앙 처리 장치(Central Processing Unit, CPU) 컴퓨터의 두뇌로 모든 계산과 명령을 처리하고 시스템 전체를 통제합니...
데이터의 가장 작은 단위 : 비트(bit)와 바이트(byte) 컴퓨터는 모든 정보를 0과 1의 조합인 이진수(Binary) 로 처리합니다. 전기 신호의 전압이 일정 기준보다 높으면 1, 그렇지 않다면 0으로 변환하여 사용합니다. 비트(Bit, b) Binary Digit의 줄임말로, 컴퓨터가 데이터를 표현하는 가장 작은 단위입니다. 단 두 가지 상태...
ArrayList & LinkedList ArrayList 동적 배열(Resizable Array) 연속된 메모리 공간에 데이터 저장 내부적으로 Object[]배열을 사용 용량이 부족할 경우 더 큰 배열을 생성하여 데이터 복사 public class ArrayList<E> extends AbstractList&...
배열 (Array) & ArrayList Array(배열) 고정된 크기를 가진 동일한 타입의 원소들을 연속적인 메모리 공간에 저장하는 자료구조 생성 시 크기가 결정되고 이후 변경 불가 인덱스를 통해 빠르게 원소에 접근 가능(O(1)시간 복잡도) ArrayList Array를 기반으로 한 동적 배열 구현체 내부적으로...