지난번 Coroutine 을 설명하며 나왔던 개념인 Thread 와 Process 그리고 이 Process 의 작업을 주체하는 OS 에 대해서 공부하는 시간입니다.
OS 라고 하면 다들 잘 알고 계시는 window, Linux, MacOS 등이 있습니다.
Operating System 의 약자인 OS 는 깊게 들어가면 끝도 없는 공부를 시작해야하고 실제로 전공 서적등을 통해 개념을 살펴봐도 엄밀히 정의하지 않고 모호한 경우가 상당합니다. 이유는 OS 라 불리는 운영체제는 어느 기기에서 어떠한 형태로든 나타날 수 있기 때문인데요. 한 가지 사례로 MP3 플레이어 같은 작은 소형 전자기기들도 전원을 키고 음악을 골라 재생하는 등의 기능을 운영체제를 깨우고 동작시킨다는 개념으로 설명할 수 있기 때문입니다.
하지만 이 MP3 플레이어의 경우 제조 공정 중 설치되어 응용 프로그램 설치를 통한 기능 추가를 할 수 없기에 펌웨어로 분류되고 OS 라고 부르지 않지만, OS의 정의를 '하드웨어와 소프트웨어를 관리하는 소프트웨어 전체.' 라고 보면 또 펌웨어도 OS의 일부이지 않나 싶습니다.
Coroutine 과 비교하며 시작된 개념이지만 Thread 의 동작 과정을 공부해 볼 수 있어 유익했고 평소 많이 들어본 이야기지만 정확히 알지 못하던 것들을 정리하는 계기가 되었습니다.
다음에는 최근 React Project 의 번들러로 가장 기본적인 CRA(Create React App) 의 시끌시끌한 소식이 있어 Vite와 비교를 하며 알아보겠습니다.
출처 : https://www.youtube.com/@nullnull_not_eq_null
출처 : https://en.wikipedia.org/wiki/Operating_system
출처 : https://velog.io/@ghddbwns9808/Android-Kotlin-Coroutine%EA%B3%BC-Flow-%EC%A0%95%EB%A6%AC%ED%95%98%EA%B8%B01-Thread