컴퓨터 과학

컴퓨터 과학 전체 구조

Data Jun 2025. 11. 22. 21:39

🟩 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 등