본문 바로가기
Today I Learned 2024. 3. 11.

(24.03.11) CS강의(CPU, 메모리 / 스케쥴링, 캐시, 메모리할당) 🤯

캠프가 연기가 되어서 새롭게 CS강의가 제공이 되었는데 생각보다 강의 내용이 길어서 2주정도 걸릴듯 싶다. 너무 빠르게 진행하다가는 이해도 안되고 그냥 받아 쓰는 정도 밖에 되지 않을 것 같다

총 12강 1시간 정도의 강이라고 생각을 하면 하루에 1~2강의 씩만 들으면 10일 2주정도에 끝날듯!

강의 자료와  자세한 강의 내용은 스파르타의 저작원이 있기 때문에

Tistory에는 간단히 스스로 돌아보면서 제목+소제목+아주 짦은만 정리하고 필요한 내용은 Notion에 정리하도록 할 것이다.

 

대학 때 배웠던 내용 + 내가 알고 있는 내용이랑 겹치는 1강이라서 만만하게 봤더니

2강에서 하주 혼쭐이 나버렸다 거진 총 4~5시간을 쓰면서 읽고 이해했다..

하지만 훌렁 이해도 안하고 넘겨버리면 CS 관련 면접때도 그렇고 실질적인 Java이해에 있어서 힘들어 질 수 있기 때문에 다 완벽하게 외울 수는 없어도 용어를 딱 들으면 ~~잖아 정도로 만들고 싶어서 집중했더니

시간이 너무 걸리는 것 같다..

 

일단은 어차피 여기에 빡 집중하기로 했으니깐 08:30 ~ 18:00 까지는 CS강의 듣고 정리하고 복습하는 시간을 가지고

"Java의 정석" 보다는 연습예제 풀기로 가야할 것 같다.

 

SQL 이나 CSS는 그냥 잘 이해하고 넘어갔는데 역시 보이지 않는 데이터나 관련 글로된 이론이나오니이과형 뇌가 버티지 못한..

 


CS강의 간단 정리

 

더보기

CPU와 메모리

CPU

CPU Central Processing Unit

└  컴퓨터가 사용자의 명령에 대해 작업을 수행하는 처리 장치

ALU Arithmetic Logic Unit 산술 논리 연산장치

└ 연산력, 계산을 위한 디지털 회로

CU Control Unit 제어장치

└ 구성력, 명령어 해석, 스케쥴 제어

 

└  제어부 + 내부버스

Memory Unit 메모리 유닛

└  Registers 레지스터 +   CACHE 캐시 메모리 L1(Layer 1) 

 

CPU 동작

  1. 명령어 인출
  2. 명령어 해독
  3. 실행
  4. 반영

CPU 성능

└  CPU 속도(코어) + CPU 코어갯수

메모리

L2 L3 캐시 메모리

주 기억장치 RAM, Random Access Memory

└  DRAM Dynamic RAM  / SRAM Static RAM

 

CPU & 메모리 구조

└ 하버드 구조, 폰 노이만 구조

 

CPU와 메모리 심화

스케쥴링

배정조건

└ 공통배정조건

 목표에 따른 배정조건

 정책에 따른 배정조건

스케쥴링 단위 CPU, I/O Burst Cycle

CPU Burst CPU 실행

I/O Burst 입력 대기 출력 대기

 

스케쥴링의 종류

선점 스케쥴링(Preemptive Scheduling)

  Priority Scheduling 우선순위 스케쥴링

  Round Robin 라운드로빈

  Multilevel-Queue 다단계 큐

비선점 스케쥴링(Non-Preemptive Scheduling)

  FCFS (First Come , First Serve)

  SJF(Shorted Job First)

  HRN (Highest Response-ratio Next)

 

캐시, 메모리

캐시

└ 레지스터와 캐시

지역성의 원리

└ 시간 지역성

└ 공간 지역성

 

캐시히트 & 캐시미스

 

캐시 매핑

 

메모리 할당

연속 할당

└ 고정 분할 방식

└ 가변 분할방식

    └ 최초적합

    └ 최적접합

    └ 최악접합

불연속 할당

└ 페이지 테이블링 Page Tabling

    └ 페이징

    └ 세그멘테이션

    └ 페이지드 세그멘테이션

 

└ 페이지 교체 알고리즘

    └ 오프라인 알고리즘

        └ 정렬알고리즘

    └ 시간기반 알고리즘

        └ FIFO First In First out

        └ LRU Least Recently Used

        └ NUR Not Used Recently

    └ 빈도기반 알고리즘  

        └ LFU Least Frequently Used