π Computer Science/β OS
μ΄μ체μ μ 리
μ΄μ체μ μ 리 1. μ»΄ν¨ν° μμ€ν μ κ΅¬μ± 2020.04.23 - [π Computer Science/β OS] - μ»΄ν¨ν° μμ€ν μ κ΅¬μ± μ»΄ν¨ν° μμ€ν μ κ΅¬μ± μ»΄ν¨ν° μμ€ν μ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ 물리μ κΈ°κ³ μ₯μΉμΈ νλμ¨μ΄μ νΉλ³ν μμ μ μ§μνλ €κ³ λͺ λ Ήμ΄λ‘ μμ±ν νλ‘κ·Έλ¨μΈ μννΈμ¨μ΄λ‘ ꡬμ±λμ΄ μλ€. νλμ¨μ΄ νλ‘μΈμ, λ©λͺ¨ tech-interview.tistory.com λ§μ°μ€λ‘ νλ‘κ·Έλ¨μ ν΄λ¦νμ λ μ»΄ν¨ν°μμ μΌμ΄λλ λͺ¨λ μΌμ κ΄ν΄μ μ€λͺ ν€λ³΄λμμ μ¬μ©μ μ λ ₯μ΄ λ€μ΄μ€λ©΄ ν€λ³΄λ 컨νΈλ‘€λ¬κ° μΈν°λ½νΈλ₯Ό λ°μμμΌ CPUμκ² ν€κ° μ λ ₯λμλ€λ μ¬μ€μ μλ €μ€λ€. CPUλ νμ¬ μν μ€μ΄λ μμ μ μνλ₯Ό μ μ₯νκ³ μΈν°λ½νΈ μμ²μ μ²λ¦¬νκΈ° μν΄ OS λ΄μ μ μλ ν€λ³΄λ μΈν°λ½νΈ μ²λ¦¬ 루ν΄μ μ°Ύμκ°λ€. ν€λ³΄λ..
![λ©ν° νλ‘μΈμ±, λ©ν° νλ‘κ·Έλλ°, λ©ν° νμ€νΉ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxc3TL%2FbtqFa682LXZ%2FLC8tBrd1fGSXuwOGJYJ5f0%2Fimg.png)
λ©ν° νλ‘μΈμ±, λ©ν° νλ‘κ·Έλλ°, λ©ν° νμ€νΉ
CPU μ½μ΄μ κ΄μ μμ μκ°νμ¬ λΆλ₯νλ€. 1. λ©ν° νλ‘μΈμ±(Multi-processing) CPU μ½μ΄ μ¬λ¬ κ°λ‘ μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό μννλ κ² λ©ν° μ°λ λ©(Multi-threading): νλμ νλ‘μΈμ€ λ΄μ μ¬λ¬ κ°μ μ€λ λκ° μ‘΄μ¬νμ¬ λ³λ ¬μ μΌλ‘ μ²λ¦¬νλ κ² 2. λ©ν° νλ‘κ·Έλλ°(Multi-programming) CPU μ½μ΄ νλλ‘ μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό μννλ κ²μΌλ‘ νλ‘μΈμ μμμ΄ λλΉλλ κ²μ μ΅μννκΈ° μν¨μ΄λ€. 3. λ©ν° νμ€νΉ(Multi-tasking) λ€μμ Taskλ₯Ό μ΄μ체μ μ€μΌμ€λ§μ μν΄ λ²κ°μ κ°λ©΄μ μννλ κ²μΌλ‘ μ΄λ Taskλ νλ‘μΈμ€λ³΄λ€ νμ₯λ κ°λ μ΄λ€. νλ‘μΈμκ° κ°κ°μ Taskλ₯Ό μμ£Ό λ²κ°μκ°λ©΄μ μ²λ¦¬νλλ° μ¬μ©μμκ²λ λ§μΉ λμμ μ¬λ¬ Taskκ° μνλλ κ²μ²λΌ..
μΊμ λ©λͺ¨λ¦¬(Cache Memory)
μΊμ λ©λͺ¨λ¦¬ μ£ΌκΈ°μ΅μ₯μΉμ μ μ₯λ λ΄μ©μ μΌλΆλ₯Ό μμλ‘ μ μ₯ν΄λλ κΈ°μ΅μ₯μΉλ‘ μλκ° λΉ λ₯Έ μ₯μΉμ λλ¦° μ₯μΉ κ°μ μλμ°¨μ λ°λ₯Έ λ³λͺ© νμμ μ€μ΄κΈ° μν λ²μ© λ©λͺ¨λ¦¬μ΄λ€. 1. μ§μμ±(Locality) νλ‘μΈμ€κ° μ€νλλ λμ μ£ΌκΈ°μ΅μ₯μΉλ₯Ό μ°Έμ‘°ν λ μΌλΆ νμ΄μ§λ§ μ§μ€μ μΌλ‘ μ°Έμ‘°νλ μ±μ§λ‘ μΊμμ μ μ€λ₯ (Hit rate)μ κ·Ήλνμν€κΈ° μν΄ μ§μμ±μ μ리λ₯Ό μ¬μ©νλ€. μκ° μ§μμ±: μ΅κ·Όμ μ°Έμ‘°λ μ£Όμμ λ΄μ©μ 곧 λ€μμ λ€μ μ°Έμ‘°λλ νΉμ± κ³΅κ° μ§μμ±: λλΆλΆμ μ€μ νλ‘κ·Έλ¨μ΄ μ°Έμ‘°λ μΈμ ν μ£Όμμ λ΄μ©μ΄ λ€μ μ°Έμ‘°λλ νΉμ± 2. μΊμ± λΌμΈ(Caching line) μΊμμ λ°μ΄ν°λ₯Ό μ μ₯ν λ, λ°μ΄ν°μ λ©λͺ¨λ¦¬ μ£Όμ λ±μ κΈ°λ‘ν΄ λ νκ·Έλ₯Ό λ¬μ κΈ°λ‘νλ€. μ΄λ μ΄λ¬ν νκ·Έλ€μ λ¬Άμμ μΊμ± λΌμΈμ΄λΌ νλ€. μΊμ±..
λ©λͺ¨λ¦¬(κΈ°μ΅μ₯μΉ) κ΄λ¦¬
1. λ©λͺ¨λ¦¬ κ΄λ¦¬ μ λ΅ νλ‘κ·Έλ¨μ΄λ λ°μ΄ν°λ₯Ό μ£ΌκΈ°μ΅μ₯μΉμ μ μ¬μν€λ μκΈ°, μ μ¬ μμΉ λ±μ μ§μ νμ¬ νμ λ μ£ΌκΈ°μ΅μ₯μΉμ 곡κ°μ ν¨μ¨μ μΌλ‘ μ¬μ©νκΈ° μν κ²μ΄λ€. 1) λ°μ (Fetch) μ λ΅ λ³΄μ‘°κΈ°μ΅μ₯μΉμ λ³΄κ΄ μ€μΈ νλ‘κ·Έλ¨μ΄λ λ°μ΄ν°λ₯Ό μΈμ μ£ΌκΈ°μ΅μ₯μΉλ‘ μ μ¬ν κ²μΈμ§ μꡬ(Demand) λ°μ : μ°Έμ‘°λ₯Ό μꡬν λ μ μ¬ μμ(Anticipatory) λ°μ : 미리 μμνμ¬ μ μ¬ 2) λ°°μΉ(Placement) μ λ΅ μλ‘ λ°μ λλ νλ‘κ·Έλ¨μ΄λ λ°μ΄ν°λ₯Ό μ£ΌκΈ°μ΅μ₯μΉμ μ΄λμ μμΉμν¬ κ²μΈμ§ μ΅μ΄ μ ν©(First Fit): λ©λͺ¨λ¦¬μ μ²μλΆν° κ²μ¬ν΄μ ν¬κΈ°κ° μΆ©λΆν 첫 λ²μ§Έ λ©λͺ¨λ¦¬μ ν λΉ μ΅μ μ ν©(Best Fit): λ¨νΈνλ₯Ό κ°μ₯ μκ² λ¨κΈ°λ λ©λͺ¨λ¦¬μ ν λΉ μ΅μ μ ν©(Worst Fit): λ¨νΈνλ₯Ό κ°μ₯ λ§μ΄ λ¨κΈ°λ λ©..
κ΅μ°©μν(Deadlock)
κ΅μ°©μν(Deadlock) λ μ΄μμ νλ‘μΈμ€κ° 곡μ μμμ 무νμ κΈ°λ€λ¦¬κ³ μκ³ κ³΅μ μμμ μ¬μ© μ€μΈ νλ‘μΈμ€λ μ§μ λκΈ° μ€μΈ νλ‘μΈμ€κ° μ§νλΌμΌλ§ λΉ μ Έλμ¬ μ μλ μν© 1. 4κ°μ§ 쑰건 μνΈ λ°°μ (Mutual Exclusion): ν λ²μ ν νλ‘μΈμ€λ§ μμ μ¬μ© μ μ μ λκΈ°(Hold & Wait): 곡μ μμμ λν μ κ·Ό κΆνμ κ°κ³ μλ νλ‘μΈμ€κ° λ€λ₯Έ μμμ λν μ κ·Ό κΆνμ μꡬ λΉμ μ (Non-preemptive): λ€λ₯Έ νλ‘μΈμ€κ° μμ μ κ·Ό κΆνμ κ°μ λ‘ λΉΌμμ μ μλ€. νν λκΈ°(Circular Wait): λ κ° μ΄μμ νλ‘μΈμ€κ° μμ μ κ·Όμ κΈ°λ€λ¦¬λλ° κ·Έ κ΄κ³μ μ¬μ΄ν΄ μ‘΄μ¬ 2. ν΄κ²°λ² μλ°© κΈ°λ²: 4κ°μ§ 쑰건 λΆμ ννΌ κΈ°λ²: κ΅μ°© μν λ°μ μ νΌν΄λκ°λ λ°©λ² μνμ μκ³ λ¦¬μ¦..
![λμμ±(Concurrency)κ³Ό λ³λ ¬μ±(Parallelism)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblrYNU%2FbtqDQ8mmOma%2FRKmqgb64mVEGn7mdBthyc0%2Fimg.gif)
λμμ±(Concurrency)κ³Ό λ³λ ¬μ±(Parallelism)
λμμ±(Concurrency)κ³Ό λ³λ ¬μ±(Parallelism) 1. λμμ±(Concurrency) μ±κΈ μ½μ΄μμ λ©ν° μ€λ λλ₯Ό λμμν€κΈ° μν λ°©μ λ©ν° νμ€νΉμ μν΄ μ¬λ¬ κ°μ μ€λ λκ° λ²κ°μκ°λ©΄μ μ€νλλ μ±μ§μ λ§νλ€. κ° μ€λ λλ€μ΄ λ³λ ¬μ μΌλ‘ μ€νλλ κ²μ²λΌ 보μ΄μ§λ§ μ¬μ€μ λ²κ°μκ°λ©΄μ μ‘°κΈμ© μ€νλκ³ μλ κ²μ΄λ€. μ¦ λμμ μ€νλλ κ²μ²λΌ 보μ΄λ κ²μ΄λ€. λ 립μ μΌλ‘ μ€ννλ νλ‘μΈμ€λ€μ ꡬμ±νλ€. 1λͺ μ΄ 5κ°μ μμ μ λΉ λ₯Έ μκ°μ μ΄κ²μ κ² μ€ννλ€. λ¬Έλ§₯ κ΅νμ΄ λ°μνλ€. 2. λ³λ ¬μ±(Parallelism) λ©ν° μ½μ΄μμ λ©ν° μ€λ λλ₯Ό λμμν€λ λ°©μ ν κ° μ΄μμ μ€λ λλ₯Ό ν¬ν¨νλ κ° μ½μ΄λ€μ΄ λμμ μ€νλλ μ±μ§μ λ§νλ€. λ©ν° μ½μ΄μμλ λμμ± μ¬μ©μ΄ κ°λ₯νλ€. 5λͺ μ΄ 5κ°μ μμ μ λμ..