<commit_before>---
title: 프로세스 스케줄링, 그리고 기법
layout: post
categories : development
background_image: '/assets/images/posts/process-scheduling-and-techniques/Round-robin_tournament_10teams_en.png'
---

도커에서 프로세스 스케줄링 하다가 이전에 정처기에서 학습했던 선점/비선점 스케줄링에 대한 이해도 떨어지는 것 같아 정리할 겸 글을 남긴다.
여기서 스케줄링이란 **프로세스가 생성되어 실행될 떄 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업**을 뜻 하며, **대기 시간은 최소화 하고 최대한 공평하게 처리하는 것을 목적**으로한다. 메모리에 여러개의 프로세스를 올려놓고(=다중 프로그래밍), CPU의 가동시간을 적절히 나누어(=시분할) 각각의 프로세스에게 분배하여 실행되도록한다. <commit_msg>chore: update summary image<commit_after>---
title: 프로세스 스케줄링, 그리고 기법
layout: post
categories : development
background_image: '/assets/images/posts/process-scheduling-and-techniques/Untitled-Diagram-150.png'
---

도커에서 프로세스 스케줄링 하다가 이전에 정처기에서 학습했던 선점/비선점 스케줄링에 대한 이해도 떨어지는 것 같아 정리할 겸 글을 남긴다.
여기서 스케줄링이란 **프로세스가 생성되어 실행될 떄 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업**을 뜻 하며, **대기 시간은 최소화 하고 최대한 공평하게 처리하는 것을 목적**으로한다. 메모리에 여러개의 프로세스를 올려놓고(=다중 프로그래밍), CPU의 가동시간을 적절히 나누어(=시분할) 각각의 프로세스에게 분배하여 실행되도록한다. 
{'fraction_non_alphanumeric': 0.09621289662231321, 'fraction_numerical': 0.00511770726714432, 'mean_word_length': 4.286486486486487, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '975665', 'n_tokens_mistral': 754, 'n_tokens_neox': 1017, 'n_words': 137}