λΆλ₯ μ 체보기(61)
-
System Call(μμ€ν μ½)
μ¬μ©μκ° νλ‘κ·Έλ¨μ μ€νμν€κ³ νμΌμ μ΄μ΄ λ¬Έμ μμ± λ° μμ μ νλ κ²μ μΌμμμλ νν μΌμ΄λλ μΌμ΄λ€. μ΄ μν©μμ μ¬μ©μλ νλ‘κ·Έλ¨ μμ±κ³Ό νμΌ μμ±, μμ μ λν μ μ΄κΆμ μλ²½ν κ°μ§κ³ μλ€κ³ μκ°ν μ μλ€. μ¬μ€μ, ν΄λΉκ³Όμ μ μ΄μ체μ μ μν΄ μνλ κ²μΌλ‘ λ΄μΌνκ³ μ¬μ©μλ λ¨μν μμ²μ ν κ²μ μ§λμ§ μλλ€. λ§μ½ μ¬μ©μ νΉμ μ¬μ©μ νλ‘κ·Έλ¨μ΄ μ§μ νμΌμ μ κ·Όνκ±°λ νλ‘μΈμ€λ₯Ό μμ±ν μ μλ κΆνμ΄ μλ€λ©΄ μ΄λ»κ² λ κΉ. μ¬μ©μλ, νμ μ μλ₯Ό κ°κ³ νλνμ§λ μκΈ° λλ¬Έμ μ μλ₯Ό κ°μ§ μ¬μ©μκ° μμ€ν μ λ§μΉ κ°λ₯μ±μ΄ μ‘΄μ¬νλ€. λ°λΌμ μμ€ν μ μνμ΄ λ κ°λ₯μ±μ΄ μ‘΄μ¬νλ μμ μ λν΄μλ μ΄μ체μ κ° μ§μ μννκ³ μ¬μ©μ λ° μ¬μ©μ νλ‘κ·Έλ¨μ μ΄μ λν μμ²λ§ κ°λ₯νλ€. μ΄λ₯Ό μμ€ν μ½μ΄λΌκ³ ..
2023.03.11 -
μΈν°λ½νΈ(Interrupt)
νΉμ νλ‘μΈμ€κ° μ€νλλ©΄ μ΄ νλ‘μΈμ€λ CPUλ₯Ό μ μ νκ² λλ€. κ°λ Ή μ¬μ©μκ° μΉ΄μΉ΄μ€ν‘μ μ€ννλ€κ³ κ°μ νλ©΄, μ΄ κ²½μ°μ μΉ΄μΉ΄μ€ν‘μ΄ CPUλ₯Ό μ μ νλ κ²μ΄λ€. μ΄μ νλμ νλ‘μΈμ€λ₯Ό λ μ€νμν¨λ€κ³ κ°μ νμ. μ¬κΈ°μμλ ν¬λ‘¬μ μμλ₯Ό λ€κ² λ€. μ΄μ μ€ν μ€μΈ λ νλ‘μΈμ€λ CPUλ₯Ό λ²κ°μκ°λ©° μ μ νκ³ μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ‘ νμ¬κΈ λ νλ‘μΈμ€κ° λμμ μ€νλκ³ μλ κ²κ³Ό κ°μ μ°©κ°μ λΆλ¬ μΌμΌν¨λ€. μ΄ λ μ΄λ€ λ°©μμ ν΅ν΄ νλ‘μΈμ€λ€μ΄ λ²κ°μκ°λ©° CPUλ₯Ό μ μ νλ κ²μΌκΉ? νλ‘μΈμ€λ€μ΄ μλ°μ μΌλ‘ λ€λ₯Έ νλ‘μΈμ€μκ² μ보νλ κ²μΌκΉ? μ¬μ€ μ΄μ체μ μ λν΄ κ³΅λΆν΄λ³Έ μ¬λμ΄λΌλ©΄ νλ‘μΈμ€λ€μ΄ λ²κ°μκ°λ©° CPUλ₯Ό μ μ νλλ‘ νλ κ²μ 주체λ μ΄μ체μ μ΄κ³ μ΄λ₯Ό μ€μΌμ€λ§μ΄λΌκ³ λΆλ₯Έλ€λ κ²μ μκ³ μμ κ²μ΄λ€. νμ§λ§ κ²°κ΅..
2023.03.11 -
TypeScript νμ : any, unknown, never
TypeScriptμμ νμ λ€μ νΉμ λ³μκ° κ°μ§ μ μλ κ°μ λ²μλ‘ λ³Ό μ μλ€. TypeScriptμλ λ€μν νμ λ€μ΄ μ‘΄μ¬νλλ°, μ΄λ² κΈμμλ κ·Έ μ€ any, unknown, neverμ λν΄ λ€λ€λ³΄λ €κ³ νλ€. Type: any any νμ μ νμ κ³μ μ 체 μ§ν©μΌλ‘, any νμ μ΄ λ°μΈλ©λ λ³μμλ κ·Έ μ΄λ€ κ°λ λ€μ΄κ° μ μλ€. μ¬κΈ°μ λλλ©΄ μ’κ² μ§λ§, λμ΄ μλλ€. any νμ μ΄ λ°μΈλ©λ λ³μκ° κ·Έ μ΄νμ λ‘μ§μμ μ¬μ©λ λ, μ»΄νμΌλ¬λ μ΄λ€ νμ κ²μ¬λ μꡬνμ§ μκ³ μ»΄νμΌλ§νλ€. μ¦ JavaScriptμμμ λ³μλ₯Ό μμ±ν κ²κ³Ό λμΌνκ² μ¬κ²¨μ§κ³ ν΄λΉ λ³μλ₯Ό κ°μ§κ³ μ΄λ€ μΌμ΄λ ν μ μλ€. λ€λ§, κ·Έ νμμ κ²°κ³Όλ λ°νμμμ μ€μ μλνκΈ° μ κΉμ§λ μ μ μλ€. λ°λΌμ anyλ₯Ό μ΄μ©νμ¬..
2023.03.09 -
NodeJS Child_processμ spawn(), exec(), fork()
NodeJS λ°νμμμ μλ‘μ΄ νλ‘μΈμ€λ₯Ό μμ±νκ³ μΆλ€λ©΄ μΌλ°μ μΌλ‘ Child_process ν¨ν€μ§μ λ€μμ λ©μλλ€μ νμ©ν μ μλ€. Child_process.fork() Child_process.exec() Child_process.spawn() μ¬κΈ°μμλ μ λ©μλλ€μ΄ μλνλ λ°©μμ λλͺ μ μμ€ν μ½λ€κ³Ό μ°κ΄ μ§μ΄ λΉκ΅νκ³ μ νλ€. λ€μ΄κ°κΈ° μ μ... μ΄ κΈμ μ΄ν΄νκΈ° μν΄μλ μμ€ν μ½κ³Ό μμ€ν μ½μ μ’ λ₯μΈ fork()μ exec()μ΄ λ¬΄μμΈμ§ μμμΌνλ€. μ΄λ€μ λν΄ λ¨Όμ κ°λ¨νκ² μκ°νκ³ λμ΄κ°κ² λ€. μμ€ν μ½ μμ€ν μ½μ΄λ μ μ λͺ¨λμμ μλνλ νλ‘μΈμ€λ€μ΄ μ΄μ체μ μ κΆνμ΄ νμν μμ μ μ΄μ체μ μ μμ²νκΈ° μν΄ νΈμΆλλ μΈν°νμ΄μ€λ₯Ό μλ―Ένλ€. νμΌ μ μΆλ ₯μ΄λ νλ‘μΈμ€μ μμ± λ° μ€ν ..
2023.03.05 -
νλ‘μΈμ€ 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