μΆμ²
cpu.landμ λ΄μ©μ μ½κ³ μμ½νμ΅λλ€.
CPU
CPU(Central Processing Unit, μ€μμ μ΄μ₯μΉ)
μ΅μ΄λ‘ λλ μμ°λ CPUλ Intel 4004λ‘, μ΄ν리μ 물리νμμ΄μ 곡νμ Federico Fagginκ° 60λ λ νλ° μ€κ³νμλ€. 4λΉνΈ μν€ν μ²λ‘, μ€λλ μ¬μ©λλ 64λΉνΈ μν€ν μ² νλ‘μΈμλ³΄λ€ ν¨μ¬ λ 볡μ‘νλ€.
CPUλ μ΄μ§ λ°μ΄ν°λ₯Ό μ½κ³ , κ·Έμ λ°λΌ μ°μ°μ μννλ€. μ΄ μ΄μ§ λ°μ΄ν°λ μ°μ°μ½λμ μ΄λ₯Ό λ°λ₯΄λ λ°μ΄ν°λ‘ μ΄λ£¨μ΄μ§λ€. μ΄κ²μ κ±°μ μΌλμΌ μμ€μΌλ‘ λ²μν κ²μ΄ μ΄μ λΈλ¦¬μ΄λ€.
λͺ λ Ή ν¬μΈν°
λ¨μλ μ€νλκ³ μλ νλ‘κ·Έλ¨λ€μ λͺ¨λ λ°μ΄ν°κ° μ μ₯λλ€. CPUλ νμ λ¨μμ μ½λλ₯Ό μ½μ΄μ¨λ€.
CPUλ νμ λ€μ μ½λλ₯Ό λ¨μ μ΄λ μμΉλ₯Ό λΆλ¬μ¬ μ§λ₯Ό λνλ΄λ Instruction pointer(ν¬μΈν°?)λ₯Ό μ μ₯νλ€. μ½λκ° μ€νλ λ€ ν¬μΈν°λ RAMμ λ°λ‘ λ€μμΌλ‘ μ΄λνλ©° μ€ν-ν¬μΈν° μ§μ μ΄ λ°λ³΅λλ©° μ½λκ° μμ°¨μ μΌλ‘ μ€νλλ κ²μ΄λ€. μΌλΆ μ½λλ 무쑰건μ , λλ 쑰건μ μΌλ‘ ν¬μΈν°κ° λ°λ‘ λ€μ μμΉλ‘ μ΄λνμ§ μκ³ μ ν΄μ§ μμΉλ‘ μ΄λνκ² νλ€. μ΄κ²μ΄ λ°λ³΅λ¬Έκ³Ό 쑰건문μ κ°λ₯νκ² νλ€.
ν¬μΈν°λ λ μ§μ€ν°μ μ μ₯λλ€. λ μ§μ€ν°λ CPUμ μλ μκ³ μμ£Ό λΉ λ₯Έ μ μ₯ 곡κ°μ΄λ€.
κΆν
컀λ: OS(Operating System, μ΄μ체μ )μ ν΅μ¬μΌλ‘, μ»΄ν¨ν°κ° λΆν λ λ ν¬μΈν°κ° μμλλ νλ‘κ·Έλ¨μ΄ 컀λμ΄λ€. λ©λͺ¨λ¦¬, μ₯μΉ λ±μ λν κ±°μ λͺ¨λ μ κ·Ό κΆνμ κ°μ§λ€.
λͺ¨λμ λ°λΌ νλ‘μΈμμ κΆνμ΄ λ¬λΌμ§λ€. νλμλ λ³΄ν΅ μ»€λ λͺ¨λμ μ¬μ©μ λͺ¨λλ‘ λλλ€. 컀λ λͺ¨λμμ CPUλ λͺ¨λ λͺ λ Ήμ μ€ννκ³ μ무 λ©λͺ¨λ¦¬μ μ κ·Όν μ μλ€. μ¬μ©μ λͺ¨λμμλ μΌλΆ λͺ λ Ήλ§ νμ©λλ©°, μ /μΆλ ₯, λ©λͺ¨λ¦¬μ λν μ κ·Όμ μ νμ΄ μλ€. λ³΄ν΅ μ»€λκ³Ό λλΌμ΄λ²λ 컀λ λͺ¨λμμ, μ±μ μ¬μ©μ λͺ¨λμμ μ€νλλ€.
x86-64 μν€ν μ²μμ *νμ¬μ λͺ¨λκ° λ¬΄μμΈμ§(CPL, Curent privilege level, νμ¬ κΆν λ 벨)*λ cs(Code Segment)λΌ λΆλ¦¬λ λ μ§μ€ν°μ μ΅νμ λΉνΈ λ κ°μμ μ½μ΄μ¨λ€. 2λΉνΈμ΄λ―λ‘ 4κ°μ§ μνλ₯Ό λνλΌ μ μλ€. 0μ΄ μ»€λ, 3μ΄ μ¬μ©μ λͺ¨λμ΄λ©°, 1κ³Ό 2λ λλΌμ΄λ² μ€νμ μ°μΈλ€.
μ¬μ©μ λͺ¨λμμ μ€νλλ νλ‘κ·Έλ¨μ΄λΌλ OSμ μνΈμμ©νκ³ , λ©λͺ¨λ¦¬μ μ κ·Όν΄μΌ ν λκ° μλ€. μ΄λ μ°μ΄λ κ²μ΄ μμ€ν μ½μ΄λ©°, μμ€ν μ½μ νλ‘κ·Έλ¨μ΄ μ¬μ©μ 곡κ°μμ 컀λ 곡κ°μΌλ‘ μ ννκ³ νλ‘κ·Έλ¨ μ½λμμ OS μ½λλ‘ μ νν μ μκ² νλ μ μ°¨μ΄λ€.
μ΄ μ νμ νλ‘μΈμμ μννΈμ¨μ΄ μΈν°λ½νΈλΌλ κΈ°λ₯μ ν΅ν΄ μ΄λ£¨μ΄μ§λ€.
λΆν κ³Όμ μμ OSλ μΈν°λ½νΈ λ²‘ν° ν μ΄λΈ(Interrupt Vector(Descriptor) Table)μ λ¨μ μ μ₯νκ³ CPUμ λ±λ‘νλ€. IVTλ μΈν°λ½νΈ λλ²λ₯Ό νΈλ€λ¬ μ½λ ν¬μΈν°μ λ§€ννλ€. νλ‘κ·Έλ¨μ INTμ κ°μ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ IVTμμ μ£Όμ΄μ§ μΈν°λ½νΈ λλ²λ₯Ό μ°Ύκ³ μ»€λ λͺ¨λλ‘ μ νν λ€μ λͺ λ Ή ν¬μΈν°λ₯Ό IVTμ μ μ₯λ λ©λͺ¨λ¦¬ μμΉ(νΈλ€λ¬ μ½λ ν¬μΈν°)λ‘ μ νμν¨λ€.
μΈν°λ½νΈκ° λλλ©΄ IRETκ³Ό κ°μ λͺ λ Ήμ μ¬μ©ν΄ λ€μ μ¬μ©μ λͺ¨λλ‘ μ ννκ³ λͺ λ Ή ν¬μΈν°λ₯Ό μΈν°λ½νΈκ° νΈλ¦¬κ±°λ κ³³μΌλ‘ λλ €λλλ€.
μ§μ§ μ΄λ ΅λ€
λ€μ μ΅λν μ½κ² μ¨λ³΄λ©΄ IVTμμ κ° μΈν°λ½νΈ λλ²λ νΉμ μμΉλ₯Ό κ°λ¦¬ν€κ³ μκ³ , μμ€ν μΈν°λ½νΈκ° μΌμ΄λλ©΄ 컀λ λͺ¨λλ‘ μ£Όμ΄μ§ μΈν°λ½νΈ λλ²κ° κ°λ¦¬ν€λ μμΉλ‘ μ΄λν΄μ OS μ½λλ₯Ό μ€ννλ€. κ·Έ λ€ λ€μ μ¬μ©μ λͺ¨λλ‘ μ ννκ³ μλ μμΉλ‘ λμκ°λ€.
λ©ν°νμ€νΉ
μ¬λ¬ νλ‘μΈμ€κ° λ²κ°μ μ€νλκ² ν¨μΌλ‘μ¨ μ¬λ¬ νλ‘μΈμ€λ₯Ό λμμ μ€νν μ μλ€. OS μ€μΌμ€λ¬λ νμ΄λ¨Έ μΉ©μΌλ‘ νλμ¨μ΄ μΈν°λ½νΈλ₯Ό νΈλ¦¬κ±°νλ€.
OSλ νλ‘κ·Έλ¨ μ½λ μ€ν μ μ νμ΄λ¨Έ μΉ©μ΄ μΌμ μκ° λ€ μΈν°λ½νΈλ₯Ό νΈλ¦¬κ±°νλλ‘ μ€μ νλ€. OSλ μ¬μ©μ λͺ¨λλ‘ μ νν΄ νλ‘κ·Έλ¨ μ½λλ₯Ό μ€ννλ€. μκ°μ΄ λ€ λλ©΄ 컀λ λͺ¨λλ‘ μ ννκ³ OS μ½λλ‘ λμμ€λλ‘ νλ νλμ¨μ΄ μΈν°λ½νΈκ° νΈλ¦¬κ±°λλ€. μ΄λ κ² λλ©΄ OSλ νλ‘κ·Έλ¨μ΄ μ€λ¨λ μμΉλ₯Ό μ μ₯νλ€. μ΄λ₯Ό μ¬λ¬ νλ‘κ·Έλ¨μ κ±Έμ³ λ°λ³΅νλ©΄ λ©ν°νμ€νΉμ΄ κ°λ₯νλ€. μ΄λ ν리μ ν°λΈ λ©ν°νμ€νΉμ΄λΌκ³ λΆλ₯΄λ©°, νλ‘μΈμ€κ° μΈν°λ½νΈλλ κ²μ ν리μ μ λλΌκ³ λΆλ₯Έλ€.
νμμ¬λΌμ΄μ€
νμμ¬λΌμ΄μ€λ OS μ€μΌμ€λ¬κ° μ νλ μκ° κΈΈμ΄μ΄λ€. νλ‘μΈμ€λ νμμ¬λΌμ΄μ€λμ μ€νλ λ€ ν리μ μ λλ€. λͺ¨λ νλ‘μΈμ€μ κ°μ νμμ¬λΌμ΄μ€λ₯Ό μ μ©νλ κ²μ κ³ μ νμμ¬λΌμ΄μ€ λΌμ΄λ-λ‘λΉ μ€μΌμ€λ§μ΄λΌκ³ νλ€. (λΌμ΄λ-λ‘λΉ μ€μΌμ€λ§μ νλ‘μΈμ€ κ°μ μ°μ μμκ° μλ€)
κ³ μ νμμ¬λΌμ΄μ€ μ€μΌμ€λ§ λ§κ³ λ νκ² λ μ΄ν΄μλ₯Ό μ§μ νλ λ°©λ²μ΄ μλ€. νκ² λ μ΄ν΄μλ νλ‘μΈμ€κ° ν리μ μ λ λ€ λ€μ μ€νλκΈ°κΉμ§μ μκ°μ΄λ€. μλ₯Ό λ€μ΄ νκ² λ μ΄ν΄μκ° 20msμ΄κ³ νλ‘μΈμ€κ° 5κ°λΌλ©΄ νμμ¬λΌμ΄μ€λ 20/5=4msκ° λλ©°, κ° νλ‘μΈμ€λ 20msλ§λ€ μ€νλκ² λλ€. νλ‘μΈμ€κ° λ§μμ§λ©΄ νμμ¬λΌμ΄μ€κ° λ무 μ§§μμ§ μ μλ€. νλ‘μΈμ€μ μ€λ¨ μμΉλ₯Ό μ μ₯νκ³ λΆλ¬μ€λ κ²μ μ»΄ν¨ν 리μμ€λ₯Ό μλͺ¨νκΈ° λλ¬Έμ νμμ¬λΌμ΄μ€λ₯Ό λ무 μ§§κ² μ§μ νλ κ²μ νΌν¬λ¨Όμ€ λ¬Έμ λ₯Ό μΌμΌν¬ μ μλ€. κ·Έλμ λ³΄ν΅ νμμ¬λΌμ΄μ€ μ΅μ νλκ° μμ΄μ νλ‘μΈμ€κ° μΆ©λΆν λ§μμ§λ©΄ νκ² λ μ΄ν΄μκ° λμ΄λλ€.
μ€λλ μ μ»΄ν¨ν°λ κ°λ³ νμμ¬λΌμ΄μ€ λΌμ΄λ-λ‘λΉ μ€μΌμ€λ§κ³Ό λΉμ·νμ§λ§ λ³΄ν΅ νλ‘μΈμ€ μ°μ μμλ₯Ό κ³ λ €νλ€.
μ΄κΈ° Mac OSμ κ°μ κ³Όκ±° OSλ μ½μ€νΌλ μ΄ν°λΈ λ©ν°νμ€νΉμ μ¬μ©νλ€. μ½μ€νΌλ μ΄ν°λΈ λ©ν°νμ€νΉμμλ OSκ° νμμ¬λΌμ΄μ€λ₯Ό μ νλ λμ νλ‘κ·Έλ¨μ΄ μννΈμ¨μ΄ μΈν°λ½νΈλ₯Ό ν΅ν΄ μλ°μ μΌλ‘ νλ‘μΈμ€λ₯Ό OSλ‘ λκΈ°κ³ , OSκ° λ€μμΌλ‘ μ€μΌμ€λ§λ νλ‘μΈμ€λ₯Ό μ€νν μ μκ² νλ€. μκ°μ μΌκ΄μ±μ μ μ§νλ κ²μ΄ κ±°μ λΆκ°λ₯νκ³ , λ©μ¨μ΄λ μλͺ» μ€κ³λ νλ‘κ·Έλ¨μ΄ OSλ₯Ό λ©μΆκ² ν μ μκΈ° λλ¬Έμ μ΄μ λ μ¬μ©λμ§ μλλ€.
λ©λͺ¨
- λ³Όλ νμ νκΈ°
- μ±ν° 3 μ½κΈ°