μ 체 κΈ135 8 CPU Scheduling CPU μ€μΌμ€λ§μ μ΄μ 체μ μμ μ¬λ¬ νλ‘μΈμ€κ° CPUλ₯Ό 곡μ νμ¬ μ€νλ λ, μ΄λ€ μμλ‘ CPUλ₯Ό ν λΉν μ§ κ²°μ νλ λ°©λ²μ΄λ μ μ± μ μλ―Έν©λλ€. μ¬λ¬ νλ‘μΈμ€κ° λμμ μ€νλ μ μλ νκ²½μμ CPU μ€μΌμ€λ¬λ νλ‘μΈμ€ κ°μ κ²½μμ μ‘°μ νκ³ ν¨μ¨μ μΌλ‘ CPUλ₯Ό νμ©νκΈ° μν μΌλ ¨μ κ·μΉκ³Ό μκ³ λ¦¬μ¦μ μ μ©ν©λλ€. CPU μ€μΌμ€λ§μ λͺ©ν 곡νμ±(Fairness): λͺ¨λ νλ‘μΈμ€μκ² κ³΅νν μ€ν κΈ°νλ₯Ό μ 곡νμ¬, μ΄λ€ νλ‘μΈμ€λ μ§λμΉκ² μνν λ°μ§ μλλ‘ ν©λλ€. μ²λ¦¬λ(Maximum Throughput): λ¨μ μκ°λΉ μ΅λν λ§μ νλ‘μΈμ€λ₯Ό μ€ννμ¬ μμ€ν μ μ²λ¦¬λμ κ·Ήλνν©λλ€. λκΈ° μκ° μ΅μν(Minimizing Waiting Time): νλ‘μΈμ€κ° CPUλ₯Ό κΈ°λ€λ¦¬λ μκ°μ μ΅μννμ¬ μλ΅ μκ°μ .. 2023. 12. 30. 11 RAM RAMμ "Random Access Memory"μ μ½μλ‘, μ»΄ν¨ν° μμ€ν μμ μ¬μ©λλ μ£Ό κΈ°μ΅μ₯μΉμ λλ€. μ¬λ¬ λͺ©μ μΌλ‘ μ¬μ©λλ©°, μ»΄ν¨ν°κ° μ€ν μ€μΈ νλ‘κ·Έλ¨ λ° λ°μ΄ν°λ₯Ό μΌμμ μΌλ‘ μ μ₯νλ λ° μ£Όλ‘ νμ©λ©λλ€. RAMκ³Ό Memoryκ° κ°μ λ¨μ΄λ‘ λ§μ΄ μ°μ΄λλ° λ³΄ν΅ Memoryνλ©΄ RAMμ΄λΌλ μ©μ΄λ₯Ό μ§μΉνλ€κ³ 보면 λ©λλ€. λ€λ§, κΉκ² λ€μ΄κ°λ©΄ λ€μν Memory μ’ λ₯κ° μμ΅λλ€. λ€λ₯Έ μ£Όμ κΈ°μ΅ μ₯μΉμΈ νλ λμ€ν¬ λλΌμ΄λΈ (HDD)λ μ리λ μ€ν μ΄νΈ λλΌμ΄λΈ (SSD)μλ λ¬λ¦¬, RAMμ νλ°μ± κΈ°μ΅ μ₯μΉλ‘ μ μμ΄ κΊΌμ§λ©΄ μ μ₯λ λ°μ΄ν°κ° μμ€λ©λλ€. μν κ³Ό κΈ°λ₯ μμ μ μ₯μ: RAMμ νμ¬ μ€ν μ€μΈ μ΄μ 체μ , μ ν리μΌμ΄μ λ° νλ‘μΈμ€μμ νμν λ°μ΄ν°λ₯Ό μ μ₯ν©λλ€. λ°μ΄ν° κ΅ν: CPUκ° λ.. 2023. 12. 30. 10 λͺ λ Ήμ΄ μ§ν© ꡬ쑰 (Feat. CISC & RISC) μ»΄ν¨ν° μν€ν μ²λ νλ‘μΈμκ° μ΄ν΄νκ³ μ€νν μ μλ λͺ λ Ήμ΄ μ§ν©μ μ μν©λλ€. λ€μν μν€ν μ²κ° μ‘΄μ¬νμ§λ§, μ¬κΈ°μλ μ£Όλ‘ μ¬μ©λλ λ κ°μ§ μν€ν μ²μ λν΄ μ€λͺ νκ² μ΅λλ€. μΈν CPU (x86 μν€ν μ²) μΈν κ³Ό AMDμ x86 μν€ν μ²λ μ£Όλ‘ κ°μΈ μ»΄ν¨ν° λ° μλ²μμ μ¬μ©λ©λλ€. x86 λͺ λ Ήμ΄ μ§ν©μ μΈν κ³Ό AMD νλ‘μΈμκ° μ΄ν΄νκ³ μ€νν μ μλ λͺ λ Ήμ΄λ₯Ό μ μν©λλ€. λνμ μΈ x86 λͺ λ Ήμ΄ μΈνΈλ‘λ IA-32(32λΉνΈ)μ x86-64(64λΉνΈ)κ° μμ΅λλ€. λ§μ μννΈμ¨μ΄ λ° μ΄μ 체μ κ° x86 μν€ν μ²λ₯Ό μ§μνκ³ μμ΅λλ€. x86 μν€ν μ² μ½λ ARM μν€ν μ² ARM μν€ν μ²λ μ£Όλ‘ λͺ¨λ°μΌ κΈ°κΈ° λ° μλ² λλ μμ€ν μμ μ¬μ©λ©λλ€. λν μ΅κ·Όμλ μΌλΆ λ ΈνΈλΆ λ° μλ²μμλ μ¬μ©λκ³ μμ΅λλ€. AR.. 2023. 12. 29. 3 Casting Javaμμ Castingμ λ³μλ ννμμ λ°μ΄ν° μ νμ λ€λ₯Έ λ°μ΄ν° μ νμΌλ‘ λ³ννλ νλ‘μΈμ€λ₯Ό λνλ λλ€. μ΄λ μλ‘ λ€λ₯Έ μ ν κ°μ ν λ³νμ μννλ λ° μ¬μ©λ©λλ€. Javaμμλ λ κ°μ§ μ νμ μΊμ€ν μ΄ μμ΅λλ€. 1) Widening Casting (automatically) - converting a smaller type to a larger type siz byte - short - char - int - long - float - double 2) Narrowing Casting (manually) - converting a larger type to a smaller size type double - float - long - int - char - short - byte Casti.. 2023. 12. 29. 2 Variable, Constant and Primitive Type in Java (Feat. Literal) λ³μ (Variables) λ³μλ λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ°Έμ‘°νκΈ° μν λ©λͺ¨λ¦¬ 곡κ°μ μ΄λ¦μ λλ€. λ³μλ μ μΈλ λ°μ΄ν° νμ μ λ§κ² κ°μ μ μ₯ν μ μμ΅λλ€. κ°μ μΈμ λ μ§ λ³κ²½λ μ μμ΅λλ€. μμ (Constants) μμλ νλ‘κ·Έλ¨ λ΄μμ λ³νμ§ μλ κ°μΌλ‘, ν λ² ν λΉλλ©΄ λ³κ²½ν μ μμ΅λλ€. μλ°μμλ final ν€μλλ₯Ό μ¬μ©νμ¬ μμλ₯Ό μ μΈν©λλ€. μμλ λ³΄ν΅ λλ¬Έμλ‘ λͺ λͺ λλ©°, μ¬λ¬ λ¨μ΄μ μ‘°ν©μΌ κ²½μ° μΈλμ€μ½μ΄ _ λ‘ μ°κ²°λμ΄ μ§λλ€. κΈ°λ³Έ λ°μ΄ν° νμ (Primitive Data Types) μλ°μμλ κΈ°λ³Έ λ°μ΄ν° νμ μΌλ‘ λ€μν μ’ λ₯κ° μ 곡λ©λλ€. μ΄λ¬ν κΈ°λ³Έ λ°μ΄ν° νμ μ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©νλ©°, λ€μν λ°μ΄ν° μ νμ μ§μν©λλ€. 1) μ μν (Integer Types) byte: .. 2023. 12. 29. Charlie Munger Commencement Address - USC Having a good profession, such as a lawyer, does not necessarily make a person more ethical. However, they earn not only money and honor but also respect and meaningful trust. Gaining respect and trust is a great joy in life. Leading a life filled with greed may bring wealth and fame to villains, but people rejoice at their death. One should not live such a life. There is nothing as important as.. 2023. 12. 28. 1 JVM, JRE, JDK μλ° κ°μ λ¨Έμ (Java Virtual Machine, JVM) μλ° κ°μ λ¨Έμ (Java Virtual Machine, JVM)μ μλ° μΈμ΄λ‘ μμ±λ νλ‘κ·Έλ¨μ μ€ννλ λ° μ¬μ©λλ κ°μ μ»΄ν¨ν° νκ²½μ λ§ν©λλ€. JVMμ μ΄μ 체μ μλ λ 립μ μ΄λ©°, μλ° νλ‘κ·Έλ¨μ μλ° λ°μ΄νΈ μ½λλ‘ λ³ννμ¬ μ€νν©λλ€. μ¬κΈ°μ λ°μ΄νΈ μ½λλ μλ° μ»΄νμΌλ¬μ μν΄ μμ±λλ©°, μ΄λ μ€κ° λ¨κ³μ μΈμ΄λ‘ λ³Ό μ μμ΅λλ€. JVMμ λ€μν μ΄μ 체μ μμ λμΌν μλ° νλ‘κ·Έλ¨μ μ€νν μ μλλ‘ ν©λλ€. μ΄λ μλ°μ ν° κ°μ μ€ νλμ΄λ©°, "Write Once, Run Anywhere"λΌλ κ°λ μ μ§μν©λλ€. JVMμ μλ° νλ‘κ·Έλ¨μ΄ νλμ¨μ΄ λ° μ΄μ 체μ μ ꡬ체μ μΈ μΈλΆ μ¬νμ μ’ μλμ§ μλλ‘ ν΄μ€λλ€. JVMμ μ£Όμ κ΅¬μ± μμ.. 2023. 12. 28. 7 Thread in Software μννΈμ¨μ΄ μΈ‘λ©΄μμμ μ€λ λ(Thread)λ νλ‘μΈμ€ λ΄μμ μ€νλλ λ 립μ μΈ μ€ν νλ¦μ λνλ λλ€. κ°κ°μ μ€λ λλ νλ‘μΈμ€ λ΄μμ 곡μ λ μμμ λν λ 립μ μΈ μ½λ μ€ν νλ¦μ κ°μ§λ©°, μ΄λ€μ μλ‘ λ€λ₯Έ μ€λ λ κ°μ λ°μ΄ν° λ° μμμ 곡μ ν μ μμ΅λλ€. μ΄λ λ©ν°μ€λ λ©(Multithreading)μ΄λΌκ³ λΆλ¦¬λ νλ‘κ·Έλλ° ν¨λ¬λ€μμ ν΅μ¬μ λλ€. μ€λ λμ μ£Όμ ꡬμ±μμ νλ‘κ·Έλ¨ μΉ΄μ΄ν° (Program Counter) κ° μ€λ λλ μ€ν μ€μΈ μ½λμ μμΉλ₯Ό λνλ΄λ νλ‘κ·Έλ¨ μΉ΄μ΄ν°λ₯Ό κ°μ§κ³ μμ΅λλ€. μ΄λ λ€μμ μ€νν λͺ λ Ήμ΄μ μ£Όμλ₯Ό κ°λ¦¬ν΅λλ€. λ μ§μ€ν° (Registers) μ€λ λλ λ μ§μ€ν° μΈνΈλ₯Ό κ°μ§κ³ μμ΅λλ€. λ μ§μ€ν°λ λ°μ΄ν°λ₯Ό μΌμμ μΌλ‘ μ μ₯νκ³ μ²λ¦¬νλ λ° μ¬μ©λλ©°, μ€λ λ κ° μ ν μ ν.. 2023. 12. 28. 6 νλ‘μΈμ€ μνμ κ³μΈ΅ ꡬ쑰 νλ‘μΈμ€ μνλ μ»΄ν¨ν° μμ€ν μμ μ€ν μ€μΈ νλ‘κ·Έλ¨μ΄λ μμ μ νμ¬ μνλ₯Ό λνλ λλ€. μΌλ°μ μΌλ‘ λ€μκ³Ό κ°μ μ¬λ¬ κ°μ§ μνλ‘ λλ μ μμ΅λλ€. μμ±(New): νλ‘μΈμ€κ° μμ±λκ³ μμ§ μ€μΌμ€λ§λμ§ μμ μνμ λλ€. μ€λΉ(Ready): νλ‘μΈμ€κ° CPUλ₯Ό ν λΉλ°κΈ°λ₯Ό κΈ°λ€λ¦¬λ μνμ λλ€. μ΄ μνμμλ λͺ¨λ νμν μμμ ν λΉλ°μ μ€νμ μμν μ μλ μνμ λλ€. μ€ν(Running): CPUλ₯Ό ν λΉλ°μ μ€μ λ‘ μ½λκ° μ€νλκ³ μλ μνμ λλ€. νλ‘μΈμ€κ° μ΄ μνμ μλ€λ κ²μ νμ¬ CPUλ₯Ό μ¬μ©νκ³ μλ€λ μλ―Έμ λλ€. λκΈ°(Waiting λλ Blocked): νλ‘μΈμ€κ° μ΄λ€ μ΄λ²€νΈκ° λ°μνκΈ°λ₯Ό κΈ°λ€λ¦¬λ μνμ λλ€. μ΄λ²€νΈκ° λ°μνλ©΄ νλ‘μΈμ€λ λ€μ μ€λΉ μνλ‘ μ νλ©λλ€. μ’ λ£(Terminate.. 2023. 12. 28. μ΄μ 1 Β·Β·Β· 8 9 10 11 12 13 14 15 λ€μ