CS/CS μ€ν°λ(12)
-
IPC(Interprocess Communication)
νλ‘μΈμ€λ€μ΄ μλ‘μ λν΄ μμ ν λ 립λ νκ²½μ κ°λλ€λ κ²μ μ΄μ체μ λ₯Ό 곡λΆν΄ 보μλ€λ©΄ μλͺ νλ€. νμ§λ§ κ²½μ°μ λ°λΌ νλ‘μΈμ€ κ° ν΅μ μ νμ©νκ³ μΆμ μ μλ€. μλ₯Ό λ€μ΄ λ‘컬μμ ꡬλ μ€μΈ μΉ μ ν리μΌμ΄μ μλ²μμ MySql DBμ μ κ·Όνλ μν©μ κ°μ ν΄ λ³΄μ. νλ‘μΈμ€κ° μμ ν λ 립νλ€λ κ°μ νμλ, μλ‘ μ κ·Όμ΄ λΆκ°λ₯νλ€. νμ§λ§ μ€μ λ‘λ μλ²μμ DBλ‘ μ κ·Όμ΄ μ μ΄λ£¨μ΄μ§λ€. μ΄λ₯Ό κ°λ₯νκ² ν΄μ£Όλ κ²μ΄ λ°λ‘ IPCμ΄λ€. IPCμ μ’ λ₯ IPCμ μ’ λ₯λ μλμ κ°λ€. Pipe Named Pipe Message Queue Shared Memory Socket Communication Pipe νμ΄νλ λ νλ‘μΈμ€ κ° λ¨λ°©ν₯ ν΅μ μ μνν λ μ΄μ©λλ€. νμ΄νλ μΌμ’ μ νμΌλ‘ κ΄λ¦¬λλλ°, μ΄λ μ΅λͺ μΌ..
2023.03.19 -
νλ‘μΈμ€ μ μ΄ λΈλ‘(PCB)
νλ‘μΈμ€ μ μ΄ λΈλ‘(Process Control Block)μ΄λ OSκ° νλ‘μΈμ€λ€μ κ΄λ¦¬λ₯Ό μν΄ μ¬μ©νλ μ 보λ₯Ό μ μ₯νλ ꡬ쑰체μ΄λ€. OSλ λ€μμ νλ‘μΈμ€λ₯Ό μ¬μ©μμκ² λμμ μ 곡νκΈ° μν΄ νμ¬ μ€ν μ€μΈ νλ‘μΈμ€μ μ 보λ₯Ό μκ³ μμ νμκ° μλλ°, PCBκ° κ·Έ μν μ νκ²λλ κ²μ΄λ€. PCB μ μ₯ μμ PCBμ μ μ₯λλ νλ‘μΈμ€μ μ 보λ€μ λ€μκ³Ό κ°λ€. PID: κ° νλ‘μΈμ€κ° κ°λ κ³ μ μ ID κ° νλ‘μΈμ€ μν: ν΄λΉ νλ‘μΈμ€κ° μ€ν μ€, λκΈ° μ€, μ μ§ μνμΈμ§λ₯Ό λνλ΄λ μ 보 λ μ§μ€ν° μν: λ μ§μ€ν°λ CPU λ΄λΆμ μ‘΄μ¬νλ νλ‘μΈμ€μ μνλ₯Ό μ μ₯νλ μ μ₯ 곡κ°μΌλ‘, μ΄μ μνλ₯Ό μ μ₯. λ μ§μ€ν°μλ νλ‘κ·Έλ¨ μΉ΄μ΄ν°, μ€ν ν¬μΈν°, λ² μ΄μ€ λ μ§μ€ν° λ±μ΄ μ μ₯. νλ‘κ·Έλ¨ μΉ΄μ΄ν°: ν΄λΉ νλ‘μΈμ€κ° λ€μ..
2023.03.18 -
System Call(μμ€ν μ½)
μ¬μ©μκ° νλ‘κ·Έλ¨μ μ€νμν€κ³ νμΌμ μ΄μ΄ λ¬Έμ μμ± λ° μμ μ νλ κ²μ μΌμμμλ νν μΌμ΄λλ μΌμ΄λ€. μ΄ μν©μμ μ¬μ©μλ νλ‘κ·Έλ¨ μμ±κ³Ό νμΌ μμ±, μμ μ λν μ μ΄κΆμ μλ²½ν κ°μ§κ³ μλ€κ³ μκ°ν μ μλ€. μ¬μ€μ, ν΄λΉκ³Όμ μ μ΄μ체μ μ μν΄ μνλ κ²μΌλ‘ λ΄μΌνκ³ μ¬μ©μλ λ¨μν μμ²μ ν κ²μ μ§λμ§ μλλ€. λ§μ½ μ¬μ©μ νΉμ μ¬μ©μ νλ‘κ·Έλ¨μ΄ μ§μ νμΌμ μ κ·Όνκ±°λ νλ‘μΈμ€λ₯Ό μμ±ν μ μλ κΆνμ΄ μλ€λ©΄ μ΄λ»κ² λ κΉ. μ¬μ©μλ, νμ μ μλ₯Ό κ°κ³ νλνμ§λ μκΈ° λλ¬Έμ μ μλ₯Ό κ°μ§ μ¬μ©μκ° μμ€ν μ λ§μΉ κ°λ₯μ±μ΄ μ‘΄μ¬νλ€. λ°λΌμ μμ€ν μ μνμ΄ λ κ°λ₯μ±μ΄ μ‘΄μ¬νλ μμ μ λν΄μλ μ΄μ체μ κ° μ§μ μννκ³ μ¬μ©μ λ° μ¬μ©μ νλ‘κ·Έλ¨μ μ΄μ λν μμ²λ§ κ°λ₯νλ€. μ΄λ₯Ό μμ€ν μ½μ΄λΌκ³ ..
2023.03.11 -
μΈν°λ½νΈ(Interrupt)
νΉμ νλ‘μΈμ€κ° μ€νλλ©΄ μ΄ νλ‘μΈμ€λ CPUλ₯Ό μ μ νκ² λλ€. κ°λ Ή μ¬μ©μκ° μΉ΄μΉ΄μ€ν‘μ μ€ννλ€κ³ κ°μ νλ©΄, μ΄ κ²½μ°μ μΉ΄μΉ΄μ€ν‘μ΄ CPUλ₯Ό μ μ νλ κ²μ΄λ€. μ΄μ νλμ νλ‘μΈμ€λ₯Ό λ μ€νμν¨λ€κ³ κ°μ νμ. μ¬κΈ°μμλ ν¬λ‘¬μ μμλ₯Ό λ€κ² λ€. μ΄μ μ€ν μ€μΈ λ νλ‘μΈμ€λ CPUλ₯Ό λ²κ°μκ°λ©° μ μ νκ³ μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ‘ νμ¬κΈ λ νλ‘μΈμ€κ° λμμ μ€νλκ³ μλ κ²κ³Ό κ°μ μ°©κ°μ λΆλ¬ μΌμΌν¨λ€. μ΄ λ μ΄λ€ λ°©μμ ν΅ν΄ νλ‘μΈμ€λ€μ΄ λ²κ°μκ°λ©° CPUλ₯Ό μ μ νλ κ²μΌκΉ? νλ‘μΈμ€λ€μ΄ μλ°μ μΌλ‘ λ€λ₯Έ νλ‘μΈμ€μκ² μ보νλ κ²μΌκΉ? μ¬μ€ μ΄μ체μ μ λν΄ κ³΅λΆν΄λ³Έ μ¬λμ΄λΌλ©΄ νλ‘μΈμ€λ€μ΄ λ²κ°μκ°λ©° CPUλ₯Ό μ μ νλλ‘ νλ κ²μ 주체λ μ΄μ체μ μ΄κ³ μ΄λ₯Ό μ€μΌμ€λ§μ΄λΌκ³ λΆλ₯Έλ€λ κ²μ μκ³ μμ κ²μ΄λ€. νμ§λ§ κ²°κ΅..
2023.03.11 -
νλ‘μΈμ€ vs μ€λ λ
νλ‘μΈμ€μ μ€λ λμ λν μ΄ν΄λ ν¨μ¨μ μΈ νλ‘κ·Έλλ°μ μν΄ μ λ§ μ€μνκ³ , κ·Έλμ κ·Έλ°μ§ λ©΄μ λ¨κ³¨ μ§λ¬Έμ΄κΈ°λ νλ€. νμ¬ μ§ννκ³ μλ μ€ν°λμμ λ€μμ μ£Όμ λ₯Ό κ°κ³ μ΄μΌκΈ°λ₯Ό ν΄λ³΄μλ μκ²¬μ΄ λμμ, μ΄μ λν΄ μ 리νκ³ λ μΆκ°μ μΌλ‘ νμ΅ν λ΄μ©μ μ 리νλ € νλ€. νλ‘μΈμ€ νλ‘μΈμ€μ λν μ€λͺ μ λ§ν¬λ‘ λ체νλ€. 2023.03.01 - [CS/CS μ€ν°λ] - νλ‘μΈμ€ μ£Όμ κ³΅κ° νλ‘μΈμ€ μ£Όμ κ³΅κ° νλ‘μΈμ€? νλ‘μΈμ€λ User modeμμ μλνλ νλμ νλ‘κ·Έλ¨μ μλ―Ένλ€. (ex. ν¬λ‘¬, μΉ΄μΉ΄μ€ν‘, λμ€μ½λ λ±) κ° νλ‘μΈμ€λ€μ CPUμ λ©λͺ¨λ¦¬ μμμ μμ‘΄νμ¬ μλλλ©° User mode μμ€μμ μλνκΈ° one-armed-boy.tistory.com κ°λ΅νκ² λ§νμλ©΄, νλ‘μΈμ€λ μ΄μ체μ λ‘λΆν° C..
2023.03.04 -
νλ‘μΈμ€ μ£Όμ 곡κ°
νλ‘μΈμ€? νλ‘μΈμ€λ User modeμμ μλνλ νλμ νλ‘κ·Έλ¨μ μλ―Ένλ€. (ex. ν¬λ‘¬, μΉ΄μΉ΄μ€ν‘, λμ€μ½λ λ±) κ° νλ‘μΈμ€λ€μ CPUμ λ©λͺ¨λ¦¬ μμμ μμ‘΄νμ¬ μλλλ©° User mode μμ€μμ μλνκΈ° λλ¬Έμ νμΌ μ μΆλ ₯, λ€νΈμν¬ ν΅μ λ±μ μ§μ μννμ§λ λͺ»νκ³ νΈλ©μ ν΅ν΄ λ€μν μμ€ν μ½μ νΈμΆνμ¬ μ΄λ₯Ό Kernel mode(μ΄μ 체μ )μ μμ²νκ² λλ€. κ° νλ‘μΈμ€λ€μ λμλ€λ°μ μΌλ‘ μλν μ μλλ°, μ΄λ μ΄μ체μ μ 리μμ€ κ°μνλ₯Ό ν΅ν΄μ μ΄λ£¨μ΄μ§λ€. νΉμ PCμ CPUμ λ©λͺ¨λ¦¬λ κ°κ° νλλΏμΌμ§λΌλ μ΄μ체μ κ° μ΄λ€μ λ§μΉ κ° νλ‘μΈμ€λ€λ§μ μν CPU, λ©λͺ¨λ¦¬κ° μλ κ²μ²λΌ μͺΌκ°κ³ μ€μΌμ€λ§νλ€. CPU κ°μνλ κ° νλ‘μΈμ€κ° λ§€μ° μ§§μ μκ° λμλ§μ CPUλ₯Ό μ μ νλλ‘ νμ¬ κ³μ..
2023.03.01