# 2023.01.08

## 할일 및 한일&#x20;

* [x] 자료구조 9단원(트리) 학습 및 정리(100%)&#x20;
* [x] 운영체제 5단원(CPU 스케줄링) 학습 및 정리(20%)&#x20;

## 경험 및 배움&#x20;

### 자료구조 9단원(트리) 학습 및 정리(100%)&#x20;

오늘은 **포인터로 트리를 구현하는 방법과, 이진 트리의 순회 방법**에 대해 학습하였다.

{% hint style="info" %}

* ***전위 순회***
* ***중위 순회***
* ***후위 순회***
* ***레벨 순회***
  {% endhint %}

과정이 헷갈릴 수 있어, 그림을 하나하나 넣으면서 상세히 정리하였다.

책에 있는 개념으로는 그리 어렵지 않아서, 조만간 트리 관련 알고리즘 문제를 풀이해보며 더 학습해볼 생각이다!

정리한 링크는 다음과 같다.

{% embed url="<https://jinwonyoon.notion.site/Chapter-9-3e72d04b82534e328d7b07e809770d87>" %}

### 운영체제 5단원(CPU 스케줄링) 학습 및 정리(20%)&#x20;

오늘은 **CPU 스케줄링의 개념과 기준, 그리고 선입 선처리 스케줄링 알고리즘(FCFS), 최단 작업 우선 스케줄링(SJF), 라운드 로빈 스케줄링(RR)**&#xC5D0; 대해 학습하였다.

전공 때, 굉장히 흥미롭게 들었던 기억이 있어서 재미있게 학습하였다. 간단히 설명하면 다음과 같다.

{% hint style="info" %}
**선입 선처리 스케줄링(FCFS)**\
**-> CPU를 먼저 요청하는, 즉 먼저 도착한 프로세스가 CPU를 먼저 할당 받는다.**

&#x20;

**최단 작업 우선 스케줄링(SJF)**

**-> CPU가 이용 가능해지면, 다음 CPU 버스트가 가장 짧은 프로세스에게 할당한다.**

&#x20;

**라운드 로빈 스케줄링(RR)**

**-> 시간 할당량을 정하고, 시간 할당량 만큼 사용하고, 다음 프로세스에게 선점당한다.**
{% endhint %}

현재까지 정리한 내용은 다음과 같다.&#x20;

{% embed url="<https://github.com/Jinwon-Dev/TIL/commits?author=Jinwon-Dev&since=2023-01-08&until=2023-01-09>" %}

## 개선 및 목표&#x20;

* 다음주에 제주도 여행이 예정되어 있어, 진도를 빠르게 나가고 있다.&#x20;
  * 그렇다고 대충 하지말고 꼼꼼히 학습하자!&#x20;
