본문 바로가기

분류 전체보기53

[OS] Scheduling: Introduction (Scheduling Policy들 정리) Scheduling 운영체제 같은 시스템 소프트웨어는 mechanism과 policy라는 말을 사용합니다. 지금까지 Context Switching과 같은 mechanism, 즉 low-level의 기계에서 수행되는 방법에 대해 공부했는데, 어떤 근거, 판단 기준을 가지고 OS가 Context Switching을 하는지, 그 정책(policy)에 대한 것은 아직 다루지 않았습니다. 오늘 주제는 OS의 Scheduler가 수행하는 의사결정, 즉 알고리즘이라고 할 수 있는 정책에 대해서 알아봅시다 ! 근데 여러분 그거 아셨나요 ? 사실 스케줄링이라고 하는 것은 컴퓨터에서 처음 나온 개념은 아닙니다. 컴퓨터가 나오기 훨씬 이전부터 운영 관리 분야에서부터 존재해왔던 개념입니다. 사실 이 모든것은 일을 더 효율적.. 2023. 11. 6.
[Combine] Publisher와 Subscriber간 연결 과정 딥다이브 (ft. OpenCombine) 현재 MVC로 되어있는 프로젝트를 MVVM으로 리팩토링하기에 앞서 Combine을 공부하고 있습니다. Combine은 인터페이스 쪽만 모두 public이고 내부 구현은 알 수가 없어서 공부에 좀 어려움이 있었는데, 팀원 덕분에 이 어려움을 해소시킬 수 있는 오픈소스를 찾게 되었습니다. GitHub - OpenCombine/OpenCombine: Open source implementation of Apple's Combine framework for processing values over time. GitHub - OpenCombine/OpenCombine: Open source implementation of Apple's Combine framework for processing values ove.. 2023. 11. 3.
[Combine] Combine을 왜 써야할까 ? (async/await과 비교) 이전글 https://codingmon.tistory.com/62 [Reactive Programming] Intro: Functional Reactive Programming ? RxSwift, Combine를 시작하기 앞서 RxSwift라고 적었던 모든 단어들이 Combine으로 대체해서 보아도 되기 때문에 제목을 RxSwift보다 "Reactive Programming"으로 좀 더 제네릭한 이름으로 수정했습니다. RxSwift를 codingmon.tistory.com MVC프로젝트를 MVVM으로 바꾸기 위한 리팩토링의 초읽기에 들어서면서 현재 Combine에 대한 공부, 그리고 Combine을 대체 왜 써야하는지에 대해서 공부를 하고 있습니다. 저번 글이 사실 시작이고 이번이 두번째 글이고, 앞으로.. 2023. 11. 1.
[OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 2부 이전글 https://codingmon.tistory.com/68 [OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 1부 오늘 다룰 주제는 CPU의 가상화입니다. 운영체제는 여러 프로세스들이 동시에 실행되는 것처럼 보이도록 하기 위해 물리적인 CPU를 공유하도록 지원합니다. 바로 Time Sharing(시분할) 방법을 통해서 codingmon.tistory.com 2부에서 이야기할 주제는 저번 1부에서 말했듯이, 아직 해결되지 않은 프로세스 간 전환 방법과 그 해결책입니다 ! 힘내서 한번 가보겠습니다 ! 시작하기에 앞서 지금까지 과정을 살짝 요약해보자면 우선 CPU를 가상화하기 위해서는 Performance와 Control을 신경써야만 했습니다. 그리고 우린 지난번에 P.. 2023. 10. 31.