ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS] ์Šค์ผ€์ค„๋ง
    ๐Ÿ–ฅCS 2022. 1. 24. 23:23

    1. ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ 

    ๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ (Multi-programming)

    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์Šคํ…œ ๋‚ด์— ์กด์žฌํ•œ๋‹ค.
    • ์ž์›์„ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์Šค์ผ€์ค„๋ง (Scheduling)
    • ์ž์› ๊ด€๋ฆฌ
      • ์‹œ๊ฐ„ ๋ถ„ํ•  (time sharing) ๊ด€๋ฆฌ
        • ํ•˜๋‚˜์˜ ์ž์›์„ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋“ค์ด ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ์‚ฌ์šฉ
        • ex) ํ”„๋กœ์„ธ์„œ (Processor)
        • ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง (Process Scheduling)
      • ๊ณต๊ฐ„ ๋ถ„ํ•  (space sharing) ๊ด€๋ฆฌ
        • ํ•˜๋‚˜์˜ ์ž์›์„ ๋ถ„ํ• ํ•˜์—ฌ ๋™์‹œ์— ์‚ฌ์šฉ
        • ex) ๋ฉ”๋ชจ๋ฆฌ (Memory)
          ใ…ค

    ์Šค์ผ€์ค„๋ง (Scheduling)์˜ ๋ชฉ์ 

    • ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ (Performance) ํ–ฅ์ƒ
    • ๋Œ€ํ‘œ์  ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ง€ํ‘œ (index)
      • ์‘๋‹ต ์‹œ๊ฐ„ (response time)
        • ์ž‘์—… ์š”์ฒญ (submission)์œผ๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์„ ๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„
      • ์ž‘์—… ์ฒ˜๋ฆฌ๋Ÿ‰ (throughput)
        • ๋‹จ์œ„ ์‹œ๊ฐ„ ๋™์•ˆ ์™„๋ฃŒ๋œ ์ž‘์—…์˜ ์ˆ˜
      • ์ž์› ํ™œ์šฉ๋„ (resource utilization)
        • ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ (Tc) ๋™์•ˆ ์ž์›์ด ํ™œ์šฉ๋œ ์‹œ๊ฐ„ (Tr)
        • Utilization = Tr / Tc
    • ๋ชฉ์ ์— ๋งž๋Š” ์ง€ํ‘œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์„ ์„ ํƒ
      ใ…ค

    ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ง€ํ‘œ๋“ค

    • ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„ (mean response time)
      • ์‚ฌ์šฉ์ž ์ง€ํ–ฅ์ . ex) Interactive, real-time system์—์„œ ์ค‘์š”ํ•œ ์ง€ํ‘œ.
    • ์ฒ˜๋ฆฌ๋Ÿ‰ (throughput)
      • ์‹œ์Šคํ…œ ์ง€ํ–ฅ์ . ex) batch system ๋“ฑ ์ผ๊ด„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์ค‘์š”ํ•œ ์ง€ํ‘œ.
    • ์ž์› ํ™œ์šฉ๋„ (resource utilization)
    • ๊ณตํ‰์„ฑ (fairness)
      • ex) FIFO
    • ์‹คํ–‰ ๋Œ€๊ธฐ ๋ฐฉ์ง€
      • ๋ฌด๊ธฐํ•œ ๋Œ€๊ธฐ ๋ฐฉ์ง€
    • ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ (predictability)
      • ์ ์ ˆํ•œ ์‹œ๊ฐ„ ์•ˆ์— ์‘๋‹ต์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?
    • ์ž์› ํ• ๋‹น์˜ ๊ณต์ •์„ฑ ๋ณด์žฅ
    • ๋‹จ์œ„ ์‹œ๊ฐ„ ๋‹น ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ๋Œ€ํ™”
    • ์ ์ ˆํ•œ ๋ฐ˜ํ™˜์‹œ๊ฐ„ ๋ณด์žฅ
    • ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™”
    • ์ž์› ์‚ฌ์šฉ์˜ ๊ท ํ˜• ์œ ์ง€
    • ๋ฐ˜ํ™˜์‹œ๊ฐ„๊ณผ ์ž์›์˜ ํ™œ์šฉ ๊ฐ„์— ๊ท ํ˜• ์œ ์ง€
    • ์šฐ์„ ์ˆœ์œ„
    • ์„œ๋น„์Šค ์‚ฌ์šฉ ๊ธฐํšŒ ํ™•๋Œ€
    • ์„œ๋น„์Šค ์ˆ˜ ๊ฐ์†Œ ๋ฐฉ์ง€
      ใ…ค

    ๋Œ€๊ธฐ ์‹œ๊ฐ„, ์‘๋‹ต ์‹œ๊ฐ„, ๋ฐ˜ํ™˜ ์‹œ๊ฐ„

    แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-01-24 แ„‹แ…ฉแ„’แ…ฎ 11 17 41 ใ…ค ใ…ค

    2. ์Šค์ผ€์ค„๋ง ๊ธฐ์ค€ ๋ฐ ๋‹จ๊ณ„

    ์Šค์ผ€์ค„๋ง ๊ธฐ์ค€ (Criteria)

    ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์ด ๊ณ ๋ คํ•˜๋Š” ํ•ญ๋ชฉ๋“ค

    • ํ”„๋กœ์„ธ์Šค์˜ ํŠน์„ฑ
      • I/O-bounded or compute-bounded
    • ์‹œ์Šคํ…œ ํŠน์„ฑ
      • Batch system or interactive system
    • ํ”„๋กœ์„ธ์Šค์˜ ๊ธด๊ธ‰์„ฑ (urgency)
      • Hard- or Soft- real time, non-real time systems
    • ํ”„๋กœ์„ธ์Šค ์šฐ์„  ์ˆœ์œ„ (priority)
    • ํ”„๋กœ์„ธ์Šค ์ด ์‹คํ–‰ ์‹œ๊ฐ„ (total service time)
      ใ…ค

    CPU burst vs I/O burst

    • ํ”„๋กœ์„ธ์Šค ์ˆ˜ํ–‰ = CPU ์‚ฌ์šฉ + I/O ๋Œ€๊ธฐ
    • CPU burst: CPU ์‚ฌ์šฉ ์‹œ๊ฐ„
      • CPU burst time์ด ๊ธด ๊ฒฝ์šฐ๋ฅผ compute bounded ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค.
    • I/O burst: I/O ๋Œ€๊ธฐ ์‹œ๊ฐ„
      • I/O burst time์ด ๊ธด ๊ฒฝ์šฐ๋ฅผ I/O bounded ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค.
    • Burst time์€ ์Šค์ผ€์ค„๋ง์˜ ์ค‘์š”ํ•œ ๊ธฐ์ค€ ์ค‘ ํ•˜๋‚˜
      ใ…ค

    ์Šค์ผ€์ค„๋ง์˜ ๋‹จ๊ณ„ (Level)

    • ๋ฐœ์ƒํ•˜๋Š” ๋นˆ๋„ ๋ฐ ํ• ๋‹น ์ž์›์— ๋”ฐ๋ฅธ ๊ตฌ๋ถ„.
    • Long-term Scheduling
      • ์žฅ๊ธฐ ์Šค์ผ€์ค„๋ง
      • Job Scheduling
    • Mid-term Scheduling
      • ์ค‘๊ธฐ ์Šค์ผ€์ค„๋ง
      • Memory allocation
    • Short-term Scheduling
      • ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง
      • Process Scheduling
        ใ…ค

    Long-term Scheduling

    • Job Scheduling
      • Job์ด Kernel์— ๋“ฑ๋ก๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค.
      • ์‹œ์Šคํ…œ์— ์ œ์ถœํ•  (Kernel์— ๋“ฑ๋กํ• ) ์ž‘์—… (Job) ๊ฒฐ์ •
      • Admission Scheduling, High-level Scheduling
    • ๋‹ค์ค‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ •๋„ (degree) ์กฐ์ ˆ
      • ์‹œ์Šคํ…œ ๋‚ด์— ํ”„๋กœ์„ธ์Šค ์ˆ˜ ์กฐ์ ˆ
    • I/O-bounded์™€ compute-bounded ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ž˜ ์„ž์–ด์„œ ์„ ํƒํ•ด์•ผํ•จ
      • ๋‘ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์ ˆํžˆ ์„ž์–ด์„œ ์„ ํƒํ•ด์•ผ, ์‹œ์Šคํ…œ์ด ํšจ์œจ์ ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.
    • ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์—์„œ๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์‹œ์Šคํ…œ์— ๋“ฑ๋ก
      ใ…ค

    Mid-term Scheduling

    • ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ฒฐ์ • (memory allocation)
      • Intermediate-level scheduling
      • Swapping (swap-in/swap-out)
        ใ…ค

    Short-term Scheduling

    • Process scheduling
      • Low-level scheduling
      • ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐ์ •
        • Process scheduler, dispatcher
    • ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒ
      • Interrupt, block (I/O), time-out ๋“ฑ
      • ๋งค์šฐ ๋นจ๋ผ์•ผํ•œ๋‹ค.
        ใ…ค
        ใ…ค

    3. ์Šค์ผ€์ค„๋ง ์ •์ฑ… (Policy)

    • ์„ ์  vs ๋น„์„ ์ 
      • Preemptive scheduling, Non-preemptive scheduling
    • ์šฐ์„ ์ˆœ์œ„
      • Priority
        ใ…ค

    Preemptive/Non-preemtive scheduling

    • Non-preemtive scheduling (๋น„์„ ์  ์Šค์ผ€์ค„๋ง)
      • ํ• ๋‹น ๋ฐ›์„ ์ž์›์„ ์Šค์Šค๋กœ ๋ฐ˜๋‚ฉํ•  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉ
        • ex) system call, I/O ๋“ฑ
      • ์žฅ์ 
        • Context switch overhead๊ฐ€ ์ ๋‹ค.
      • ๋‹จ์ 
        • ์žฆ์€ ์šฐ์„ ์ˆœ์œ„ ์—ญ์ „ (์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ), ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„ ์ฆ๊ฐ€
    • Preemptive scheduling (์„ ์  ์Šค์ผ€์ค„๋ง)
      • ํƒ€์˜์— ์˜ํ•ด ์ž์›์„ ๋นผ์•—๊ธธ ์ˆ˜ ์žˆ์Œ
        • ex) ํ• ๋‹น ์‹œ๊ฐ„ ์ข…๋ฃŒ, ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค ๋“ฑ์žฅ
      • Context switch overhead๊ฐ€ ํผ (ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์ฃผ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค.)
      • Time-sharing system, real-time system ๋“ฑ์— ์ ํ•ฉ.
        ใ…ค

    Priority (ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์š”๋„)

    • Static priority (์ •์  ์šฐ์„ ์ˆœ์œ„)
      • ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ๊ฒฐ์ •๋œ priority๊ฐ€ ์œ ์ง€๋จ
      • ๊ตฌํ˜„์ด ์‰ฝ๊ณ , overhead๊ฐ€ ์ ์Œ
      • ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€ํ•œ ๋Œ€์‘์ด ์–ด๋ ค์›€
    • Dynamic priority (๋™์  ์šฐ์„ ์ˆœ์œ„)
      • ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณ€ํ™”์— ๋”ฐ๋ผ priority ๋ณ€๊ฒฝ
      • ๊ตฌํ˜„์ด ๋ณต์žกํ•˜๊ณ , priority๋ฅผ ์žฌ๊ณ„์‚ฐํ•˜๋ฏ€๋กœ overhead๊ฐ€ ํผ
      • ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€ํ•œ ์œ ์—ฐํ•œ ๋Œ€์‘ ๊ฐ€๋Šฅ
        ใ…ค
        ใ…ค

    [OS] Lecture 5. Process Scheduling (1/4) / ์šด์˜์ฒด์ œ ๊ฐ•์˜

    '๐Ÿ–ฅCS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [CS] ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ  (0) 2022.01.18

    ๋Œ“๊ธ€

Designed by Tistory.