favicon

Jayden { do: smite }

230206(월)

🎄 성장일지 3.1

행복한 이기주의자(웨인 다이어)의 내용에 자극받아 시작하는 소박한 성장기록

살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!

🌳 키워드 (1.0)<br/> 최대한 간단하게 정리, 추후에 보면서 스스로 설명<br/> 🍉 경험 위주로 (2.0)<br/> 단순 정보를 전달하기보다 무엇을 배웠고 어떻게 해결했는지 짧고 간단하게 작성<br/> ❄️ 정해진 템플릿에 맞춰서 (3.0)<br/> 키워드, 경험 모두 좋다. 다만 매일 작성하기로 마음 먹은만큼 핵심만 간결하게 정리할 수 있게 템플릿을 작성 (3.1) 230102부터 시작되는 학습에 관한 내용 추가

🔑 오늘의 키워드

스케줄링

  • CPU는 하나인데 동시에 실행되어야 할 프로세스는 여러 개이기 때문에 이를 지원하는 방법
  • 여러 프로세스가 작동할 때, 어떤 시점에 어떤 프로세스에게 자원을 할당할지 결정하는 방식
  • 스케줄링 방법에 따라서 CPU(프로세서)를 할당받을 프로세스를 결정하게 된다.
  • 그러므로 스케줄링 시스템의 성능에 직/간접적인 영향을 미친다.

프로세스

  • 실행 중에 있는 프로그램
  • 스케줄링의 대상이 되는 작업
  • 프로세스 내부에는 최소 하나의 스레드가 존재한다.
  • Storage에 있는 프로그램을 실행하면, 실행을 위해 메모리 할당이 이루어지며 할당된 메모리 공간으로 바이너리 코드가 올라간다. 이 순간부터 프로세스가 된다.

PCB(Process Control Block)

  • 운영체제가 특정한 프로세스를 관리할 수 있도록 정보를 저장해놓은 운영체제 커널의 자료구조
  • 프로세스의 상태 정보를 저장하는 자료구조
  • 프로세스가 생성될 때마다 고유의 PCB가 생성되고 프로세스가 완료되면 PCB도 함께 제거된다.

운영체제(Operating System; OS)

  • 사용자가 컴퓨터를 쉽게 다룰 수 있게 해주는 인터페이스
  • 컴퓨터 자원을 효율적으로 관리하기 위한 여러 시스템을 제공한다.

프로세스 스케줄러

  • 하나의 프로세스를 실행하기 위해서는 하나의 CPU(코어)가 필요하다.
  • 현실적으로 프로세스 수 만큼 CPU를 가지고 있는 것은 불가능하다.
  • 이를 해결하기 위해 프로세스들이 CPU를 할당받을 수 있도록 관리해주는 프로세스가 스케줄러이다.

참고자료

📝 요약 및 하루 간단 회고

확실히 cs를 구현하는 게 쉬운 일은 아닌 것 같다. 거기다가 아직은 익숙치 않은 타입스크립트도 더하면서 해보려고 하다보니 하나하나가 도전이기도 하고 새롭다. (물론 이제는 타입스크립트가 얼마나 편하고 강력한지 알게 됐지만ㅎㅁㅎ) 오늘 공부를 하면서 cs 과정엔 개념에 좀더 딥하게 들어가는 게 맞나? 생각이 들었다. 내가 그동안 너무 얕게 들어간 건 아닌지, 너무 이론도 구현도 이도저도 아니게 발을 담근건 아닌지... 그치만 괜찮다. 내가 생각하는 계획이 있고 큰 그림들이 있으니까 그 계획에서만 크게 벗어나지 않게 조금씩 조금씩 보완해가면서 공부하자! 잘하고 있다, 정말로! :)

오늘의 잘한 점

  • 타입스크립트 제네릭을 어느정도 활용하게 됐다!
  • 지금의 학습법에 대해서 생각해보기로 했다는 점!

오늘의 아쉬운 점

  • cs를 좀더 깊이 있게 들어가지 않았나 싶은 생각!
  • 좀더 몰입해서 효율적으로 공부할 것!
undefined

Copyright 2023. all rights reserved by Jayden