μ»΄ν¨ν° ꡬ쑰μ ν° κ·Έλ¦Ό
μ°λ¦¬κ° μμμΌ ν μ»΄ν¨ν° ꡬ쑰 μ§μμ ν¬κ² λ κ°μ§ μ λλ€.
- μ»΄ν¨ν°κ° μ΄ν΄νλ μ 보
- μ»΄ν¨ν°μ λ€ κ°μ§ ν΅μ¬ λΆν
μ»΄ν¨ν°κ° μ΄ν΄νλ μ 보
- λ°μ΄ν°
- μ»΄ν¨ν°κ° μ΄ν΄νλ μ«μ, λ¬Έμ, μ΄λ―Έμ§, λμμκ³Ό κ°μ μ μ μΈ μ 보
- λͺ
λ Ήμ΄
- μ»΄ν¨ν°λ₯Ό μ€μ§μ μΌλ‘ μλ μν€λ μ€μν μ 보
- λ°μ΄ν° μμ΄λ μ무κ²λ ν μ μλ μ 보 λ©μ΄λ¦¬
- βλ°μ΄ν°λ₯Ό μμ§μ΄κ³ μ»΄ν¨ν°λ₯Ό μλ μν€λ μ₯보β
βμ¦, λͺ λ Ήμ΄λ μ»΄ν¨ν°λ₯Ό μλμν€λ μ 보μ΄κ³ , λ°μ΄ν°λ λͺ λ Ήμ΄λ₯Ό μν΄ μ‘΄μ¬νλ μΌμ’ μ μ¬λ£μ λλ€.β
- μ»΄ν¨ν° νλ‘κ·Έλ¨μ βλͺ
λ Ήμ΄λ€μ λͺ¨μβμΌλ‘ μ μλκΈ°λ ν©λλ€.
- κ·Έλμ λͺ λ Ήμ΄λ μ»΄ν¨ν° ꡬ쑰λ₯Ό νμ΅νλ λ° μμ΄ λ°μ΄ν°λ³΄λ€ λ μ€μν κ°λ .
μ»΄ν¨ν°μ 4κ°μ§ ν΅μ¬ λΆν.
- μ€μμ²λ¦¬μ₯μΉ(Central Programming Unit, CPU)
- μ»΄ν¨ν°μ λλ
- λ©λͺ¨λ¦¬μ μ μ₯λ λͺ λ Ήμ΄λ₯Ό μ½μ΄ λ€μ΄κ³ , μ½μ΄ λ€μΈ λͺ λ Ήμ΄λ₯Ό ν΄μνκ³ , μ€ννλ λΆνμ λλ€.
- CPU λ΄λΆ κ΅¬μ± μμ μ€ κ°μ₯ μ€μν μΈ κ°μ§λ μ°μ λ
Όλ¦¬μ°μ°μ₯μΉ(ALU: Arithmetic Logic Unit), λ μ§μ€ν°(register), μ μ΄μ₯μΉ(CU: Control Unit) μ
λλ€.
- ALU: κ³μ°κΈ°, κ³μ°λ§μ μν΄ μ‘΄μ¬νλ λΆν, μ»΄ν¨ν° λ΄λΆμμ μνλλ λλΆλΆμ κ³μ°μ ALUκ° λλ§‘μ μν
- λ μ§μ€ν°: CPU λ΄λΆμ μμ μμ μ μ₯ μ₯μΉ, νλ‘κ·Έλ¨μ μ€ννλ λ° νμν κ°λ€μ μμλ‘ μ μ₯, CPU μμλ μ¬λ¬ κ°μ λ μ§μ€ν°κ° μ‘΄μ¬νκ³ κ°κΈ° λ€λ₯Έ μ΄λ¦κ³Ό μν μ κ°μ§
- μ μ΄μ₯μΉ: μ μ΄ μ νΈ(Control Signal)λΌλ μ κΈ° μ νΈλ₯Ό λ΄λ³΄λ΄κ³ λͺ
λ Ήμ΄λ₯Ό ν΄μνλ μ₯μΉ.
- μ μ΄ μ νΈλ μ»΄ν¨ν° λΆνλ€μ κ΄λ¦¬νκ³ μλμν€κΈ° μν μΌμ’
μ μ κΈ° μ νΈ
- CPUκ° λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ μ½κ³ μΆμ λ λ©λͺ¨λ¦¬λ₯Ό ν₯ν΄ βλ©λͺ¨λ¦¬ μ½κΈ°βλΌλ μ μ΄ μ νΈλ₯Ό 보λΈλ€.
- CPUκ° λ©λͺ¨λ¦¬μ μ΄λ€ κ°μ μ μ₯νκ³ μΆμ λ λ©λͺ¨λ¦¬λ₯Ό ν₯ν΄ βλ©λͺ¨λ¦¬ μ°κΈ°βλΌλ μ μ΄ μ νΈλ₯Ό 보λΈλ€.
- μ μ΄ μ νΈλ μ»΄ν¨ν° λΆνλ€μ κ΄λ¦¬νκ³ μλμν€κΈ° μν μΌμ’
μ μ κΈ° μ νΈ
- μ£ΌκΈ°μ΅μ₯μΉ(Main memory, λ©λͺ¨λ¦¬)
- νμ¬ μ€νλλ νλ‘κ·Έλ¨μ λͺ λ Ήμ΄μ λ°μ΄ν°λ₯Ό μ μ₯νλ λΆν.
- μ¦, νλ‘κ·Έλ¨μ΄ μ€νλλ €λ©΄ λ°λμ λ©λͺ¨λ¦¬μ μ μ₯λμ΄ μμ΄μΌ ν©λλ€.
- λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ μμΉλ μ£Όμλ‘ μ μ μμ΅λλ€.
- 보쑰기μ΅μ₯μΉ(secondary storage)
- λ©λͺ¨λ¦¬λ³΄λ€ ν¬κΈ°κ° ν¬κ³ μ μμ΄ κΊΌμ Έλ μ μ₯λ λ΄μ©μ μμ§ μλ λ©λͺ¨λ¦¬λ₯Ό 보쑰ν μ μ₯ μ₯μΉ
- 보쑰기μ΅μ₯μΉλ β보κ΄ν β νλ‘κ·Έλ¨μ μ μ₯νλ€κ³ μκ°ν΄λ μ’λ€.
- μ
μΆλ ₯μ₯μΉ(input/output(I/O) device)
- λ§μ΄ν¬, μ€νΌμ»€, νλ¦°ν°, λ§μ°μ€, ν€λ³΄λμ²λΌ μ»΄ν¨ν° μΈλΆμ μ°κ²°λμ΄ μ»΄ν¨ν° λ΄λΆμ μ 보λ₯Ό κ΅ννλ μ₯μΉλ₯Ό μλ―Έ.
- βμ»΄ν¨ν° μ£Όλ³μ λΆμ΄ μλ μ₯μΉβλΌλ μλ―Έμμ βμ£Όλ³μ₯μΉ(peripheral device)βλΌ ν΅μΉνκΈ°λ ν¨.
βμ£Όμβ
- μ»΄ν¨ν°κ° λΉ λ₯΄κ² μλνκΈ° μν΄μλ λ©λͺ¨λ¦¬ μ λͺ
λ Ήμ΄μ λ°μ΄ν°κ° μ λλ μμΉμ μ μ₯λμ΄ μμ΄μΌ ν©λλ€.
- κ·Έλμ λ©λͺ¨λ¦¬μλ μ μ₯λ κ°μ λΉ λ₯΄κ² ν¨μ¨μ μΌλ‘ μ κ·ΌνκΈ° μν΄ μ£Όμ(address)λΌλ κ°λ μ΄ μ¬μ©λ©λλ€.
- μ£Όμλ‘ λ©λͺ¨λ¦¬ λ΄ μνλ μμΉμ μ κ·Όν μ μμ΅λλ€.
λ©μΈλ³΄λμ μμ€ν λ²μ€
- λ©μΈλ³΄λ
- λ§λ보λ(mother board)λΌκ³ λ λΆλ¦
- λ©μΈλ³΄λμλ μμμ μκ°ν λΆνμ λΉλ‘―ν μ¬λ¬ μ»΄ν¨ν° λΆνμ λΆμ°©ν μ μλ μ¬λ‘κ³Ό μ°κ²° λ¨μκ° μμ΅λλ€.
- λ©μΈ 보λμ μ°λ ₯λ λΆνλ€μ μλ‘ μ 보λ₯Ό μ£Όκ³ λ°μμ μμ΅λλ€. μ΄λ λ©μΈλ³΄λ λ΄λΆμ βλ²μ€(bus)βλΌλ ν΅λ‘κ° μκΈ° λλ¬Έμ λλ€.
- μμ€ν
λ²μ€(system bus)
- μ¬λ¬ λ²μ€ κ°μ΄λ° μ»΄ν¨ν°μ λ€ κ°μ§ ν΅μ¬ λΆνμ μ°κ²°νλ κ°μ₯ μ€μν λ²μ€μ λλ€.
- μ£Όμ λ²μ€, λ°μ΄ν° λ²μ€, μ μ΄ λ²μ€λ‘ ꡬμ±λμ΄ μμ΅λλ€.
- μ£Όμ λ²μ€(address bus): μ£Όμλ₯Ό μ£Όκ³ λ°λ ν΅λ‘
- λ°μ΄ν° λ²μ€(data bus): λͺ λ Ήμ΄λ‘Έ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ ν΅λ‘
- μ μ΄ λ²μ€(control bus): μ μ΄ μ νΈλ₯Ό μ£Όκ³ λ°λ ν΅λ‘
ν€μλλ‘ μ 리νλ ν΅μ¬ ν¬μΈνΈ
- μ»΄ν¨ν°κ° μ΄ν΄νλ μ 보μλ βλ°μ΄ν°β μ βλͺ λ Ήμ΄β κ° μμ΅λλ€.
- βλ©λͺ¨λ¦¬β λ νμ¬ μ€νλλ νλ‘κ·Έλ¨μ λͺ λ Ήμ΄μ λ°μ΄ν°λ₯Ό μ μ₯νλ λΆνμ λλ€.
- βCPUβ λ λ©λͺ¨λ¦¬μ μ μ₯λ λͺ λ Ήμ΄λ₯Ό μ½μ΄ λ€μ΄κ³ , ν΄μνκ³ , μ€ννλ λΆνμ λλ€.
- β보쑰기μ΅μ₯μΉβ λ μ μμ΄ κΊΌμ Έλ 보κ΄ν νλ‘κ·Έλ¨μ μ μ₯νλ λΆνμ λλ€.
- βμ μΆλ ₯μ₯μΉβ λ μ»΄ν¨ν° μΈλΆμ μ°κ²°λμ΄ μ»΄ν¨ν° λ΄λΆμ μ 보λ₯Ό κ΅νν μ μλ λΆνμ λλ€.
- βμμ€ν λ²μ€β λ μ»΄ν¨ν°μ λ€ κ°μ§ ν΅μ¬ λΆνλ€μ΄ μλ‘ μ 보λ₯Ό μ£Όκ³ λ°λ ν΅λ‘μ λλ€.
Q1. βλ©λͺ¨λ¦¬ μ£Όμκ° λ¬΄μμ΄λ©°, iOS μμ€ν λ΄μμ μ΄λ€ μν μ μννλ€κ³ μκ°νλμ?β
λ©λͺ¨λ¦¬ μ£Όμλ μ»΄ν¨ν° λ©λͺ¨λ¦¬ λ΄μμ λ°μ΄ν°λ λͺ λ Ήμ΄μ μμΉλ₯Ό μλ³νλ λ° μ¬μ©λλ κ³ μ ν μλ³μμ λλ€. κ° λ°μ΄νΈ λλ μλμλ λ©λͺ¨λ¦¬ λ΄μ μμΉλ₯Ό λνλ΄λ κ³ μ ν μ£Όμκ° μμΌλ©°, μ΄λ₯Ό ν΅ν΄ CPUμ λ€λ₯Έ μμ€ν κ΅¬μ± μμκ° νμν λ°μ΄ν°λ₯Ό μ νν μ°Ύμ μ½κ³ μΈ μ μμ΅λλ€.
iOS μμ€ν λ΄μμ λ©λͺ¨λ¦¬ μ£Όμμ μν μ νΉν μ€μν©λλ€. iOSλ λ©λͺ¨λ¦¬ κ΄λ¦¬μ μλ μ°Έμ‘° μΉ΄μ΄ν (ARC)λ₯Ό μ¬μ©νμ¬ κ°μ²΄μ μλͺ μ£ΌκΈ°λ₯Ό κ΄λ¦¬ν©λλ€. ARCλ κ°μ²΄μ λν μ°Έμ‘°κ° λ μ΄μ νμνμ§ μκ² λλ©΄ μλμΌλ‘ λ©λͺ¨λ¦¬λ₯Ό ν΄μ ν©λλ€. μ΄ κ³Όμ μμ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό μ¬μ©νμ¬ κ° κ°μ²΄μ μμΉλ₯Ό νμ νκ³ κ΄λ¦¬ν©λλ€. λ°λΌμ, κ°λ°μλ‘μ λ©λͺ¨λ¦¬ μ£Όμμ μ΄ν΄λ λ©λͺ¨λ¦¬ λμλ₯Ό λ°©μ§νκ³ μ±μ μ±λ₯μ μ΅μ ννλ λ° νμμ μ λλ€.
λν, λ©λͺ¨λ¦¬ μ£Όμλ₯Ό μ΄ν΄νλ κ²μ ν¬μΈν°λ₯Ό μ¬μ©ν νλ‘κ·Έλλ°, λ©λͺ¨λ¦¬ μ κ·Ό μ΅μ ν, κ·Έλ¦¬κ³ λ€μν λ©λͺ¨λ¦¬ κ΄λ¦¬ κΈ°λ²μ μ μ©νλ λ° μ€μν©λλ€. μλ₯Ό λ€μ΄, ν¨μ¨μ μΈ λ°μ΄ν° ꡬ쑰 μ€κ³, λκ·λͺ¨ λ°μ΄ν° μ²λ¦¬, λ©ν°μ€λ λ© νκ²½μμμ λ°μ΄ν° 곡μ μ λκΈ°ν λ¬Έμ ν΄κ²° λ±μ λ©λͺ¨λ¦¬ μ£Όμμ λ°μ ν κ΄λ ¨μ΄ μμ΅λλ€.
iOS μμ€ν λ΄μμ λ©λͺ¨λ¦¬ μ£Όμμ κ΄λ¦¬μ μ΅μ νλ μ±μ λ°μ μλ, μμ μ±, κ·Έλ¦¬κ³ μ¬μ©μ κ²½νμ μ§μ μ μΈ μν₯μ λ―ΈμΉκΈ° λλ¬Έμ, μ΄λ₯Ό μ νν μ΄ν΄νκ³ ν¨κ³Όμ μΌλ‘ νμ©νλ λ₯λ ₯μ iOS κ°λ°μμκ² λ§€μ° μ€μν μμ§μ λλ€.
Q2. βλ©λͺ¨λ¦¬ μ£Όμκ° λ¬΄μμ΄λ©°, Java μμ€ν λ΄μμ μ΄λ€ μν μ μννλ€κ³ μκ°νλμ?β
βλ©λͺ¨λ¦¬ μ£Όμλ μ»΄ν¨ν° λ©λͺ¨λ¦¬ λ΄μ νΉμ μμΉλ₯Ό μλ³νλ λ° μ¬μ©λλ κ³ μ ν μλ³μμ λλ€. μ΄ μ£Όμλ₯Ό ν΅ν΄, μ»΄ν¨ν° μμ€ν μ λ©λͺ¨λ¦¬ λ΄μμ λ°μ΄ν°λ λͺ λ Ήμ΄λ₯Ό μ νν μ°Ύμλ΄μ΄ μ½κ³ μΈ μ μμ΅λλ€. κ°λ¨ν λ§ν΄, λ©λͺ¨λ¦¬ μ£Όμλ μ»΄ν¨ν° λ©λͺ¨λ¦¬ λ΄μ βμ°νΈ μ£Όμβμ μ μ¬ν μν μ μνν©λλ€.
Java μμ€ν λ΄μμ, λ©λͺ¨λ¦¬ μ£Όμμ μν μ Java κ°μ λ¨Έμ (JVM)μ μν΄ μΆμνλμ΄ λ€λ£¨μ΄μ§λλ€. Java κ°λ°μλ€μ μ§μ μ μΌλ‘ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό λ€λ£¨μ§ μμΌλ©°, λμ Javaκ° μ 곡νλ μΆμνλ λ©λͺ¨λ¦¬ λͺ¨λΈμ μ¬μ©νμ¬ νλ‘κ·Έλλ°ν©λλ€. Javaμμλ κ°μ²΄μ λ°°μ΄ λ±μ΄ ν λ©λͺ¨λ¦¬μ ν λΉλλ©°, κ°λ°μλ μ΄λ¬ν κ°μ²΄μ λν μ°Έμ‘°λ₯Ό ν΅ν΄ λ©λͺ¨λ¦¬λ₯Ό μ κ·Όνκ² λ©λλ€. μ¬κΈ°μ βμ°Έμ‘°βλ μ€μ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό μ§μ μ μΌλ‘ λνλ΄μ§λ μμ§λ§, νΉμ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ μν μ ν©λλ€.
JVMμ κ°λΉμ§ 컬λ μ (Garbage Collection)μ ν΅ν΄ λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό μλνν©λλ€. κ°λΉμ§ 컬λ ν°λ λ μ΄μ μ¬μ©λμ§ μλ κ°μ²΄λ₯Ό μλμΌλ‘ κ²μΆνκ³ , κ·Έ λ©λͺ¨λ¦¬λ₯Ό νμνμ¬ μ¬μ¬μ© κ°λ₯νκ² λ§λλλ€. μ΄ κ³Όμ μμ JVMμ λ΄λΆμ μΌλ‘ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ΄λ¦¬νμ¬, ν¨μ¨μ μΈ λ©λͺ¨λ¦¬ ν λΉκ³Ό ν΄μ λ₯Ό μνν©λλ€.
λ°λΌμ, Java μμ€ν λ΄μμ λ©λͺ¨λ¦¬ μ£Όμλ μ£Όλ‘ λ©λͺ¨λ¦¬ ν λΉ, κ°μ²΄ μ°Έμ‘°, κ·Έλ¦¬κ³ κ°λΉμ§ 컬λ μ κ³Ό κ°μ λ©λͺ¨λ¦¬ κ΄λ¦¬ μμ μ μ€μν μν μ μνν©λλ€. Java κ°λ°μλ‘μ μ°λ¦¬μ μν μ μ£Όλ‘ μμ νκ³ ν¨μ¨μ μΈ μ½λ μμ±μ μ΄μ μ λ§μΆλ©°, JVMμ΄ λ©λͺ¨λ¦¬ κ΄λ¦¬μ μΈλΆ μ¬νμ μΆμννκ³ μ²λ¦¬νλλ‘ ν©λλ€. μ΄λ κ² ν¨μΌλ‘μ¨, κ°λ°μλ λ©λͺ¨λ¦¬ κ΄λ¦¬μ 볡μ‘μ±μΌλ‘λΆν° λ²μ΄λ λΉμ¦λμ€ λ‘μ§ κ΅¬νμ λ μ§μ€ν μ μμ΅λλ€.β