intro
π μ΄μ체μ (OS)λ, νλμ¨μ΄ μμ μ€μΉλμ΄ νλμ¨μ΄(HW) κ³μΈ΅κ³Ό λ€λ₯Έ μννΈμ¨μ΄(SW) κ³μΈ΅μ μ°κ²°νλ SW κ³μΈ΅.
π
β μ»΄ν¨ν° μμ€ν μ μμ κ΄λ¦¬
β‘ μ¬μ©μκ° μ»΄ν¨ν°λ₯Ό μ¬μ©ν μ μλ νκ²½ μ 곡
: CPU, λ©λͺ¨λ¦¬ κ°μ μ»΄ν¨ν° μμμ μ νμ μ΄λ―λ‘ μμ κ΄λ¦¬λ λ§€μ° μ€μ! μ΄λ₯Ό OSκ° λ΄λΉ
β’ μ¬μ©μ μ»΄ν¨ν° κ° μΈν°νμ΄μ€ μ 곡 → μ¬μ©μκ° μ»΄ν¨ν°λ₯Ό νΈλ¦¬νκ² μ¬μ©ν μ μλ νκ²½ μ 곡
ex) λνμ μΈ OS: Windows, macOS, Linux, Unix
π 4κ°μ§ λͺ©μ
β μ²λ¦¬λ₯λ ₯(throughput) ν₯μ: μμ κ΄λ¦¬λ₯Ό ν΅ν΄ μΌμ μκ° λ΄μ μμ€ν μ²λ¦¬λ ν₯μ
β‘ λ°νμκ°(turnaround time) λ¨μΆ: μ¬μ©μκ° μμ€ν μ μμ²ν μμ μλ£ μκ° λ¨μΆ
β’ μ¬μ© κ°λ₯λ(availability) ν₯μ: μμ€ν μμμ μΌλ§λ 빨리 μ 곡ν μ μλμ§. OSλ μ¬μ©μκ° μ»΄ν¨ν° μμ μ¬μ© μ μ¦μ μ¬μ©νκ² ν΄ μ€
β£ μ λ’°λ(reliability) ν₯μ: μ λ ₯ κ°μ λν μ νν κ²°κ΄κ° μ»μ μ μλλ‘ μ λ’°λ ν₯μ
∴ HWμ SW μ΄μ΄μ£Όλ κ³μΈ΅μΌλ‘ νμ λ μμ μμμ μ ννκ³ λΉ λ₯΄κ² μ£Όμ΄μ§ λ¬Έμ ν΄κ²°ν΄μ€.
CPU
π CPUλ μ»΄ν¨ν°μ λ μν μ νλ©°, νλ‘μΈμλΌκ³ λΆλ₯΄κΈ°λ νλ€. μ»΄ν¨ν°μμ νλ‘κ·Έλ¨μ μ€ννλ λ° νμν μ°μ°μ μ²λ¦¬νκ³ μν.
π λ©λͺ¨λ¦¬λ μΌλ°μ μΌλ‘ RAMμ λ»νλ λ©λͺ¨λ¦¬(μ£Ό κΈ°μ΅μ₯μΉ;νλ°μ±) + SSD/HDDμΈ λ³΄μ‘° κΈ°μ΅μ₯μΉ(λΉνλ°μ±)λ‘ λλλ€.
π λ©λͺ¨λ¦¬λ λ μ§μ€ν° + μΊμ λ©λͺ¨λ¦¬(2κ° λͺ¨λ CPU λ΄λΆ) + RAM + νλ λμ€ν¬(SDD/HDD) μ΄λ κ² ν¬κ² 4κ°λ‘ λμ΄ μλ€.
β λ μ§μ€ν°: CPUκ° μ¬μ©μ μμ²μ μ²λ¦¬νλ λ° νμν λ°μ΄ν°λ₯Ό μμλ‘ μ μ₯νλ κΈ°μ΅μ₯μΉ. CPU λ΄λΆμ μ‘΄μ¬νλ©° μ κ·Ό μλ λΉ λ₯΄λ€
β‘ μΊμ λ©λͺ¨λ¦¬: CPUμ RAM μ¬μ΄μ μλ μ°¨μ΄λ₯Ό ν΄κ²°νκΈ° μν κΈ°μ΅μ₯μΉ. CPU λ΄λΆμ μμΉ. μ κ·Ό μλκ° λ μ§μ€ν° λ€μμΌλ‘ λΉ λ₯΄λ€.
β’ RAM: μ»΄ν¨ν°μμ νλ‘κ·Έλ¨μ μ€νν λ νμν μ 보 μ μ₯. CPUμμ μ κ·Ό μλκ° νλ λμ€ν¬λ³΄λ€ λΉ λ₯΄κ³ νλ°μ± κΈ°μ΅μ₯μΉ.
β£ νλλμ€ν¬: μ¬μ©μκ° νμν λ°μ΄ν°μ νλ‘κ·Έλ¨ μ μ₯. λΉνλ°μ±.
Kernel in OS
π 컀λμ OSμ ν΅μ¬ μμλ‘, μμ(RAM, CPU)κ³Ό μ¬μ©μκ°μ intermediary μ€κ°μ μν μ νμ¬ μ¬μ©μκ° μ§μ μμμ μ κ·Όν μ μκ² ν΄μ£Όλ μ€μν μν μν. CPU μ€μΌμ€λ§, λ©λͺ¨λ¦¬/μ μΆλ ₯ κ΄λ¦¬, νμΌ μμ€ν κ΄λ¦¬ μμ λ±λ± μ§ν.
π
(1) kernel mode: 컀λμμ κ΄λ¦¬νλ μ€μ μμμ μ¬μ©μκ° μ κ·Όνμ§ λͺ»νλ mode.
(2) user mode: 컀λ λͺ¨λμ μμμ μ¬μ©μκ° μ κ·Ό κ°λ₯.
π μ¬μ©μ λͺ¨λμμ μ€νλ νλ‘μΈμ€κ° μμμ μ κ·Όνλ €λ©΄ system callμ νΈμΆν΄ 컀λμ μμ² νμ. system callμ΄λ μ¬μ©μ λͺ¨λμμ 컀λ λͺ¨λμ μ κ·Όν΄ νμν κΈ°λ₯μ μνν μ μκ² νλ μμ€ν ν¨μ. μμ€ν μ½λ‘ λ°μ μμ²μ μ²λ¦¬ν ν λ€μ μμ€ν μ½λ‘ κ²°κ΄κ° λ°ν. λνμ μΈ μμ€ν μ½μ μλ‘ νλ‘μΈμ€λ₯Ό μμ±νλ fork(), λΆλͺ¨ νλ‘μΈμ€κ° μμ νλ‘μΈμ€μ μνμ κΈ°λ€λ¦¬λ wait()
'Computer Science > Basics' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
πOperating Systems Fundamentals 2 - Process 1/3 (0) | 2024.11.01 |
---|---|
jupyter notebook markdown *μμ μ λ°μ΄νΈ (0) | 2023.02.07 |
Data Handling (0) | 2022.07.15 |
feature scaling (0) | 2022.06.22 |
Data Analysis with Python (2/2) (from Coursera) (0) | 2022.04.24 |
λκΈ