🟩 1. 컴퓨터 구조 (Computer Architecture)
컴퓨터가 내부적으로 어떻게 동작하며, 어떤 구성 요소로 이루어져 있는지를 다루는 분야입니다.
컴퓨터 구조
├─ 컴퓨터가 이해하는 정보
│ ├─ 데이터 : 컴퓨터가 처리하는 값(숫자, 문자 등)
│ └─ 명령어 : CPU가 실행해야 할 작업 지시
├─ 컴퓨터의 핵심 부품
│ ├─ CPU : 연산과 명령어 처리를 담당
│ ├─ 메모리 & 캐시 : 프로그램 실행을 위한 임시 저장 공간
│ ├─ 보조기억장치 : 데이터를 장기 저장하는 장치(SSD/HDD)
│ └─ 입출력장치 : 사용자·외부와 소통하는 장치
└─ 운영체제의 큰 그림(전이)
├─ 커널 : 하드웨어를 직접 제어하는 운영체제 핵심
└─ 시스템 콜 : 프로그램이 OS 기능을 요청하는 인터페이스
🟦 2. 운영체제 (Operating System)
컴퓨터 자원을 관리하고 프로그램 실행을 돕는 핵심 소프트웨어입니다.
운영체제
├─ 프로세스 & 스레드 관리
│ ├─ 프로세스 : 실행 중인 프로그램
│ ├─ 스레드 : 프로세스 내부의 실행 흐름
│ ├─ 동기화 : 여러 스레드가 충돌 없이 실행되도록 조정
│ └─ 교착 상태 : 서로 자원을 기다리며 멈추는 상황
├─ 자원 할당 및 관리
│ ├─ CPU 관리 : 어떤 프로세스가 CPU를 사용할지 결정
│ ├─ 메모리 관리 : 가상 메모리, 페이지 교체 등
│ └─ 파일/디렉터리 관리 : 파일 저장·삭제·조회 기능 제공
└─ 시스템 전반 관리
└─ 하드웨어와 소프트웨어 간의 전체적인 연결 관리
🟨 3. 자료구조 (Data Structure)
데이터를 효율적으로 저장하고 관리하는 방법을 다루는 분야입니다.
자료구조
├─ 자료구조의 큰 그림
│ └─ 시간·공간 효율성을 고려한 데이터 저장 방식
├─ 주요 선형 구조
│ ├─ 배열 : 연속 공간에 저장된 빠른 접근 가능 구조
│ ├─ 연결 리스트 : 노드가 포인터로 연결된 구조
│ ├─ 스택 : LIFO 구조, 되돌리기 등에서 사용
│ └─ 큐 : FIFO 구조, 대기열 처리에서 사용
├─ 비선형 구조
│ ├─ 트리 : 계층적 데이터 표현(예: 파일 시스템)
│ └─ 그래프 : 네트워크처럼 복잡한 연결 관계 표현
└─ 기타 구조
└─ 해시 테이블 : 매우 빠른 검색을 제공하는 구조
🟪 4. 네트워크 (Network)
서로 다른 컴퓨터가 데이터를 주고받을 수 있도록 하는 기술입니다.
네트워크
├─ 네트워크 계층 구조
│ └─ OSI·TCP/IP 모델로 통신 단계를 체계화
├─ 주요 프로토콜
│ ├─ IP : 네트워크 주소 지정
│ ├─ TCP/UDP : 데이터 전송 방식 결정
│ ├─ HTTP/HTTPS : 웹 통신을 위한 규약
├─ 네트워크 장비
│ └─ 라우터, 스위치 등 데이터 전달 경로 관리
└─ 전송 및 트래픽 안정성
└─ 끊김 없는 안정적인 데이터 전달 보장
🟥 5. 데이터베이스 (Database)
데이터를 체계적으로 저장하고 관리하는 시스템입니다.
데이터베이스
├─ 데이터베이스 개념
│ ├─ DBMS : 데이터를 관리하는 소프트웨어
│ ├─ 파일 시스템과 비교 : 더 구조화되고 안정적
│ ├─ 엔터티 & 스키마 : DB 내 데이터 구조 정의
│ └─ ACID : 안전한 트랜잭션을 위한 성질
├─ RDBMS + SQL
│ ├─ RDBMS : 테이블 기반 관계형 데이터베이스
│ ├─ SQL : 데이터 조회·수정·삽입을 위한 언어
│ └─ 효율적 쿼리 : 인덱스·조인 등 성능 향상 기법
└─ NoSQL
└─ 비정형 데이터를 저장하는 유연한 데이터베이스(MongoDB 등)
✔️ 전체 구조 한 번에 보기
1. 컴퓨터 구조
├─ 컴퓨터가 이해하는 정보
│ ├─ 데이터
│ └─ 명령어
├─ 컴퓨터의 핵심 부품
│ ├─ CPU
│ ├─ 메모리 & 캐시 메모리
│ ├─ 보조기억장치
│ └─ 입출력장치
└─ 운영체제의 큰 그림
├─ 커널
└─ 시스템 콜
2. 운영체제
├─ 프로세스 & 스레드 관리
│ ├─ 프로세스
│ ├─ 스레드
│ ├─ 동기화
│ └─ 교착 상태
├─ 자원 할당 및 관리
│ ├─ CPU 관리(스케줄링)
│ ├─ 메모리 관리
│ └─ 파일/디렉터리 관리
└─ 시스템 전반 관리
3. 자료구조
├─ 자료구조의 큰 그림
├─ 선형 구조
│ ├─ 배열
│ ├─ 연결 리스트
│ ├─ 스택
│ └─ 큐
├─ 비선형 구조
│ ├─ 트리
│ └─ 그래프
└─ 기타 구조
└─ 해시 테이블
4. 네트워크
├─ 네트워크 계층 구조
├─ 주요 프로토콜
│ ├─ IP
│ ├─ TCP
│ ├─ UDP
│ ├─ HTTP
│ └─ HTTPS
├─ 네트워크 장비
└─ 전송 및 트래픽 안정성
5. 데이터베이스
├─ 데이터베이스 개념
│ ├─ DBMS
│ ├─ 파일 시스템 vs DB
│ ├─ 엔터티 & 스키마
│ └─ ACID
├─ RDBMS & SQL
│ ├─ RDBMS 구조
│ ├─ SQL
│ └─ 효율적 쿼리
└─ NoSQL
└─ MongoDB / Redis 등'컴퓨터 과학' 카테고리의 다른 글
| [컴퓨터 구조] CPU - 인터럽트 (0) | 2025.11.23 |
|---|---|
| [컴퓨터 구조] CPU - 레지스터 (0) | 2025.11.23 |
| [컴퓨터 구조] 컴퓨터가 이해하는 정보 -명령어 (0) | 2025.11.23 |
| [컴퓨터 구조] 컴퓨터가 이해하는 정보 - 데이터 문자 (0) | 2025.11.22 |
| [컴퓨터 구조] 컴퓨터가 이해하는 정보 - 데이터 숫자 (0) | 2025.11.22 |