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

(24.03.12) CS강의(프로그램 & 프로세스 / 프로세스 메모리 / 스레드 & 스레드 풀)

오늘 잠깐 장을 오전에 빠르게 보고오느라 시간이 살짝 지체가 되었는데

그만큼  CS강의 들을 시간이 더 줄어드는 것 같아서 괜히 불안해졌다.

어제 들은  CS강의 내용이 상당히 어려워서 강의 시간의 두배정도가 내용을 정리하고 혼자 복습하는 시간으로 가니고있다.

Notion에 스스로 정리할 때도, 되도록이면 복붙이 아니라 내 스스로 정리를 하고 있기 때문에, 이해하는데 시간을 많이 사용하는 것 같다.

 

앞으로는 오전에 좀 일찍 일어나서 더 듣고 오후에는 강의 마무리를 하고

연습 문제를 계속 풀어보는 것이 나쁘지 않을 것이라 생각한다.

"Java의 정석"은 일단 CS강의를 다 득곤 서로 복습하면서 진행할 계획이다.

 

이론 위주의 강의라 이해하기가 너무 힘들지만 그래도 노력해보기!

 

 

 

CS강의 간단 정리

더보기

프로그램 & 프로세스

  • 보조기억 장치
  • 주 기억장치
  • 프로세스
  • 스레드

프로세스 생명주기

  • 신규 New
  • 준비 Ready
  • 수행 Running
  • 대기 Waiting
  • 종료 Terminated

대기 큐

Job Queue

Ready Queue

Device  Queue

스케줄링 Scheduling

Bound Process

I/O Bound Process

CPU Bound Process

걸리는 시간으로 구분

  • Long Term Scheduler
  • Medium Term Scheduler
  • short Term Scheduler

스케쥴러 종류

  • Job Scheduler
  • CPU Scheduler
  • Device Scheduler

주-보조 교환 (Swapping)

  • 스와핑 Swiping
  • 문맥 교환 Context Switching
  • Scheduler
  • Dispathcer

시간 공유시스템

 

프로세스 메모리

프로세스 메모리 구조

  • Code 영역
  • Data  영역
  • Stack 영역
  • Heap 영역

커널 프로세스의 메모리

  • Code 영역
  • Data  영역
  • Stack 영역
  • Heap 영역X

쓰레드와 쓰레드 풀

프로세스 Process

스레드 Thread

 

프로세스 & 스레드 주소공간

  • 프로세스 주소공간
  • 스레드 주소공간

멀티 프로세스 & 멀티 스레드

  • 멀티 프로세스
  • 멀티 스레드

스레드 풀

  • 스레드 풀의 동작
  • 스레드 풀을 사용하는 이유
  • 스레드 풀의 장단점

동시성 Concurrency & 병렬성 Parallelism