기초 CS 지식 자습 2

RIHO·2022년 11월 27일
post-thumbnail

컴퓨터 구조

  1. 중앙 처리 장치(CPU)
    • 제어 장치: 모든 장치를 제어하고 통제, 감독
    • 연산 장치: CPU의 연산 담당
    • 레지스터: CPU의 임시 기억 장소 역할
  2. 기억 장치
    • 내부 기억 장치: CPU가 직접 접근하여 저장된 데이터를 꺼내 오고 넣을 수 있는 부분
    • 외부 기억 장치: CPU가 직접 접근할 수 없는 보조 기억 장치
  3. 시스템 버스: 컴퓨터의 구성 요소를 서로 연결하고 데이터를 전달하기 위한 경로로, 제어 버스, 주소 버스, 데이터 버스로 구성.

프로그램이 메모리에 적재되는 순서

  1. 실행할 프로그램 코드가 메모리에 로드되며, 이를 프로세스라 함. 운영체제에 의해 프로세스는 RAM의 일부 공간을 할당받음. 이 코드 영역에는 컴파일된 기계어가 들어감.
  2. 프로그램의 전역 변수, 정적 변수, 상수가 저장되는 영역이 생성되며 이를 데이터 영역이라 함.
  3. 런타임 동안 사용자의 동적 할당(힙 영역) 영역이 발생. 개발자가 메모리 공간 관리 가능
  4. 컴파일 타임 동안 함수의 호출과 관계되는 지역변수와 매개변수가 저장되는 정적 할당(스택 영역) 발생. 프로그램이 자동으로 사용하는 임시 메모리 영역

소스코드가 실행되는 순서

  1. 수행되어야 하는 동작이 담긴 명령들이 코드 영역 안으로 들어감
  2. 레지스터가 코드 영역에서 실행될 부분을 가리키면 해당 순서대로 프로그램 실행
  3. 작성된 코드에 따라 순서대로 스택에 쌓였다가 완료되면 사라지는 과정 반복

자료구조

1. 선형 자료구조

  • 선형 리스트: 배열 타입으로 정의되는 자료구조. 속성이 같은 데이터를 그룹으로 관리할 때 편리
  • 연결 리스트: 데이터를 저장할 때 저장 공간과 함께 그 다음에 나올 데이터가 저장된 공간을 가리키는 주소 값을 동시에 가짐. 수정 및 삭제가 잦은 경우 사용
  • 스택(Stack): LIFO 구조의 자료구조. 선입후출.
  • 큐(Queue): FIFO 구조의 자료구조. 선입선출.

2. 비선형 자료구조

  • 트리: 데이터를 노드와 엣지로 표현한 계층적 자료구조.
  • 그래프: 노드, 엣지로 이루어진 자료구조로, 부모 노드와 자식 노드라는 개념이 존재하지 않음.
profile
Front-End / 기록용

0개의 댓글