12μ›” 3일 TIL πŸŽ„

μž„λ€λ€Β·2022λ…„ 12μ›” 3일

πŸ’‘ μš΄μ˜μ±„μ œμ˜ λͺ©μ  및 κΈ°λŠ₯

  • 운영체제의 λͺ©μ μ€ 처리λŠ₯λ ₯ ν–₯상, 신뒰도ν–₯상, λ°˜ν™˜μ‹œκ°„ 단좕등에 있고 μ—¬λŸ¬ κΈ°λŠ₯이 있음
  • ν”„λ‘œμ„ΈμŠ€, κΈ°μ–΅μž₯치, μž…μΆœλ ₯μž₯치, 파일과 μ •λ³΄μ˜ μžμ›μ„ 관리함
  • μžμ›μ„ 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œ μŠ€μΌ€μ€„λ§ κΈ°λŠ₯을 μ œκ³΅ν•¨
    • μ–΄λ–€ μžμ›μ„ λˆ„κ°€ μ–Έμ œ μ–΄λ–€ λ°©μ‹μœΌλ‘œ μ‚¬μš©ν• μ§€λ₯Ό μ •ν•΄μ£ΌλŠ”κ±Έ λœ»ν•¨
  • μ‚¬μš©μžμ™€ μ‹œμŠ€ν…œκ°„μ˜ νŽΈλ¦¬ν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•¨
  • μ‹œμŠ€ν…œμ˜ 각쒅 ν•˜λ“œμ›¨μ–΄μ™€ λ„€νŠΈμ›Œν¬λ₯Ό κ΄€λ¦¬ν•˜κ³  μ œμ–΄ν•¨
    운영 체제의 μ‹œμŠ€ν…œ μžμ› 관리
  • μš΄μ˜μ²΄μ œκ°€ μ—†λ‹€λ©΄ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰ 될 수 μ—†μŒ
    • μ‘μš© ν”„λ‘œκ·Έλž¨μ€ 컴퓨터λ₯Ό μ΄μš©ν•΄ λ‹€μ–‘ν•œ μž‘μ—…μ„ ν•˜λŠ”κ²ƒμ΄ λͺ©μ μ΄κ³  μš΄μ˜μ²΄μ œλŠ” μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ ν•˜λ“œμ›¨μ–΄μ—κ²Œ 일을 μ‹œν‚¬ 수 μžˆλ„λ‘ 도움을 쀌
    • ν•˜λ“œμ›¨μ–΄λ₯Ό κ΅¬μ„±ν•˜λŠ” 일을 ν•˜λŠ” CPU, 자료λ₯Ό μ €μž₯ν•˜λŠ” RAM, λ””μŠ€ν¬ λ“±μ˜ μ‹œμŠ€ν…œ μžμ›μ„ κ΄€λ¦¬ν•˜λŠ” μ£Όμ²΄μž„
    • ν”„λ‘œμ„ΈμŠ€ 관리(CPU)
    • λ©”λͺ¨λ¦¬ 관리
    • I/O(μž…μΆœλ ₯)관리 (λ””μŠ€ν¬, λ„€νŠΈμ›Œν¬ λ“±)

μ‘μš© ν”„λ‘œκ·Έλž¨ 관리

  • μ‘μš©ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜κ³  μ‹œμŠ€ν…œ μžμ›μ„ μ‚¬μš© ν•  수 μžˆλŠ” κΆŒν•œκ³Ό μ‚¬μš©μžλ₯Ό 관리함
    μ‘μš©ν”„λ‘œκ·Έλž¨: 운영체제λ₯Ό 톡해 μ»΄ν“¨ν„°μ—κ²Œ 일을 μ‹œν‚€λŠ”κ²ƒ
  • μš°μ„  컴퓨터λ₯Ό μ‘°μž‘ ν•  수 μžˆλŠ” κΆŒν•œμ„ μ‘μš©μ²΄μ œλ‘œ λΆ€ν„° λΆ€μ—¬λ₯Ό 받아야함
    • κΆŒν•œμ„ 받은 ν›„ μš΄μ˜μ²΄μ œκ°€ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯을 μ‚¬μš© ν•  수 있음
    • μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μš΄μ˜μ²΄μ œμ™€ μ†Œν†΅ν•˜κΈ° μœ„ν•΄μ„  APIλ₯Ό 제곡 해야함
  • μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μ‹œμŠ€ν…œ μžμ›μ„ μ‚¬μš© ν•  수 μžˆλ„λ‘ 운영체제 μ°¨μ›μ—μ„œ λ‹€μ–‘ν•œ ν•¨μˆ˜λ₯Ό μ œκ³΅ν•˜λŠ”κ±Έ μ‹œμŠ€ν…œ 콜이라고 뢀름
    • μ‘μš©ν”„λ‘œκ·Έλž¨μ΄ κΆŒν•œμ„ 흭득 ν›„ μ‚¬μš©ν• λ•ŒλŠ” ν•„μš”ν•œ APIλ₯Ό 호좜 ν•΄μ•Όν•˜κ³  이 APIλŠ” μ‹œμŠ€ν…œμ½œλ‘œ μ΄λ£¨μ–΄μ ΈμžˆμŒ

ν”„λ‘œμ„ΈμŠ€

  • ν”„λ‘œκ·Έλž¨μ΄ 싀행쀑인 μƒνƒœλ‘œ νŠΉμ • λ©”λͺ¨λ¦¬ 곡간에 ν”„λ‘œκ·Έλž¨μ˜ μ½”λ“œκ°€ 적재되고 CPUκ°€ ν•΄λ‹Ή λͺ…λ Ήμ–΄λ₯Ό ν•˜λ‚˜μ”© μˆ˜ν–‰ν•˜κ³  μžˆλŠ” μƒνƒœλ₯Ό μ˜λ―Έν•¨
  • 싀행쀑인 ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν”„λ‘œμ„ΈμŠ€λΌκ³ ν•¨
    • μ‚¬μš©μžκ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ €λ©΄ μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° 싀행에 ν•„μš”ν•œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήλ°›μ•„μ„œ μ½”λ“œλ₯Ό 싀행함
    • μ΄λ•Œ μ‹€ν–‰λ˜λŠ” 앱을 ν”„λ‘œμ„ΈμŠ€λΌκ³  뢀름
      ν”„λ‘œμ„ΈμŠ€ ꡬ성 μš”μ†Œ
  • ν”„λ‘œμ„ΈμŠ€λ§ˆλ‹€ λ…λ¦½μ μœΌλ‘œ 관리해야 ν•˜λŠ” μœ μ € λ©”λͺ¨λ¦¬ μ˜μ—­μ΄λ‚˜ ν”„λ‘œμ„ΈμŠ€κ°€ μ‚¬μš©ν•˜λŠ” 각쒅 κ°μ²΄λ“€μ˜ 포인터λ₯Ό κ΄€λ¦¬ν•˜λŠ” ν•Έλ“€ ν…Œμ΄λΈ”μ„ κ°€μ§€κ³  있음
  • μœ μ € λ©”λͺ¨λ¦¬ μ˜μ—­ 관리
    • ν”„λ‘œμ„ΈμŠ€ λ³„λ‘œ λ…λ¦½λœ μ˜μ—­μ„ κ°€μ§€κ²Œ λ˜λŠ” 곳은 μœ μ € λ©”λͺ¨λ¦¬ κ³΅κ°„μž„
    • 컀널 λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 경우 λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€κ°€ κ³΅μœ ν•΄μ„œ μ‚¬μš© ν•˜κ³ μžˆμŒ
    • ν”„λ‘œμ„ΈμŠ€ λ³„λ‘œ 독립적인 μœ μ € λ©”λͺ¨λ¦¬ μ˜μ—­μ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œ VADλΌλŠ” 관리 ν…Œμ΄λΈ”μ΄ μ‘΄μž¬ν•¨
  • ν•Έλ“€ ν…Œμ΄λΈ”
    • ν”„λ‘œμ„ΈμŠ€μ—μ„œ μ‚¬μš©ν•˜λŠ” λͺ¨λ“  핸듀에 λŒ€ν•œ 컀널 객체 포인터 정보λ₯Ό λ°°μ—΄λ‘œ κ°€μ§€κ³ μžˆλŠ” κ³΅κ°„μž„
    • ν”„λ‘œμ„ΈμŠ€κ°€ μ’…λ£Œν•˜κ²Œ 될 λ•Œ 이 ν…Œμ΄λΈ”μ˜ 정보λ₯Ό μ°Έκ³ ν•΄μ„œ ν”„λ‘œμ„Έμ„œμ—μ„œ μ‚¬μš©ν•˜κ³ μžˆλŠ” λͺ¨λ“  컀널 객체λ₯Ό μžλ™μœΌλ‘œ λ°˜ν™˜ν•¨
  • 독립 λ©”λͺ¨λ¦¬ 곡간
    • ν”„λ‘œμ„ΈμŠ€ λ‹¨μœ„λ‘œ κ΄€λ¦¬λ˜λŠ” μžμ›μ€‘ κ°€μž₯ μ€‘μš”ν•œ ꡬ별점은 가상 λ©”λͺ¨λ¦¬μž„
    • νŽ˜μ΄μ§• 기법을 μ΄μš©ν•΄μ„œ ν”„λ‘œμ„ΈμŠ€λ§ˆλ‹€ λ³„λ„μ˜ κ³ μœ ν•œ λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš© ν•  수 있게 ν•˜κ³  있음( μœˆλ„μš°μ˜κ²½μš° )

ν”„λ‘œμ„ΈμŠ€ νŠΉμ§•

  • μžμ› μ†Œμœ μ˜ λ‹¨μœ„
    • 각각의 ν”„λ‘œμ„ΈμŠ€λŠ” μžμ‹ μ˜ μ‹€ν–‰ 이미지와 λ‘œλ“œμ— 싀행에 ν•„μš”ν•œ 좔가적인 λ©”λͺ¨λ¦¬ 곡간을 κ°€μ§€κ³  μžˆμ–΄μ•Όν•¨
    • 이건 각 ν”„λ‘œμ„ΈμŠ€λ§ˆλ‹€ κ΅¬λ³„λ˜μ–΄μ•Ό ν•˜κ³  ν”„λ‘œμ„ΈμŠ€κ°€ μ ‘κ·Όν•˜κ³ μž ν•˜λŠ” νŒŒμΌλ˜ν•œ ν”„λ‘œμ„Έμ„œ λ‹¨μœ„λ‘œ ν• λ‹Ήλ°›μ•„ 관리 λ˜μ–΄μ•Όν•¨
  • λ””μŠ€νŒ¨μΉ­μ˜ λ‹¨μœ„
    • ν”„λ‘œμ„ΈμŠ€λŠ” ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ΄ μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° CPU의 μžμ›μ„ μΌμ •κΈ°κ°„λ™μ•ˆ ν• λ‹Ήλ°›μ•„μ„œ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λŠ”κ²ƒμ΄κ³ 
    • 운영체제의 μ—¬λŸ¬κ°œμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ λ³‘λ ¬μ μœΌλ‘œ μ‹€ν–‰λ˜κ²Œ ν•˜κΈ°μœ„ν•΄ CPU의 μ‚¬μš©κΈ°κ°„μ„ 각각의 ν”„λ‘œμ„ΈμŠ€μ— 골고루 λ‚˜λˆ μ£Όμ–΄μ•Όν•¨
  • ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€μ—μ„œ μ—¬λŸ¬κ°œμ˜ λ””μŠ€νŒ¨μΉ­ λ‹¨μœ„κ°€ μ‹€ν–‰ 될 수 μžˆλ„λ‘ ν•˜κ³  있고 μ΄λŸ¬ν•œ λ””μŠ€νŒ¨μΉ­ λ‹¨μœ„λ₯Ό μŠ€λ ˆλ“œλΌ 뢀름

ν”„λ‘œμ„ΈμŠ€ μƒνƒœ

  • μ‹€ν–‰ : ν”„λ‘œμ„ΈμŠ€κ°€ ν”„λ‘œμ„Έμ„œλ₯Ό μ°¨μ§€ν•΄μ„œ μ„œλΉ„μŠ€λ₯Ό λ°›κ³ μžˆλŠ” μƒνƒœλ₯Ό 말함
  • μ€€λΉ„ : 싀행될 수 있또둝 μ€€λΉ„λ˜λŠ” μƒνƒœλ₯Ό 말함
  • λŒ€κΈ° : CPU의 μ‚¬μš©μ΄ μ•„λ‹ˆλΌ μž…μΆœλ ₯의 사건을 κΈ°λ‹€λ¦¬λŠ” μƒνƒœλ₯Ό 말함
    ν”„λ‘œμ„Έμ„œ vs ν”„λ‘œμ„ΈμŠ€
  • 엄밀이 λ§ν•˜λ©΄ λ‘˜μ€ λ‹€λ₯Έμ‘΄μž¬μž„
    ν”„λ‘œμ„Έμ„œ
  • ν•˜λ“œμ›¨μ–΄μ  μΈ‘λ©΄
    • 컴퓨터 λ‚΄μ—μ„œ ν”„λ‘œκ·Έλž¨μ„ μˆ˜ν–‰ν•˜λŠ” ν•˜λ“œμ›¨μ–΄ μœ λ‹›μœΌλ‘œ CPUλ₯Ό μ˜λ―Έν•¨
    • 적어도 ν•˜λ‚˜ μ΄μƒμ˜ ALU와 λ ˆμ§€μŠ€ν„°λ₯Ό λ‚΄μž₯ν•˜κ³  있음
  • μ†Œν”„νŠΈμ›¨μ–΄μ  μΈ‘λ©΄
    • 데이터 포맷을 λ³€ν™˜ν•˜λŠ” 역할을 μˆ˜ν–‰ν•˜λŠ” 데이터 처리 μ‹œμŠ€ν…œμ„ 의미( μ›Œλ“œν”„λ‘œμ„Έμ„œ,컴파일러)
      ν”„λ‘œμ„ΈμŠ€
  • νŠΉμ • λͺ©μ μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ λ‚˜μ—΄λœ μž‘μ—… λͺ©λ‘μ„ 의미
    • λ©”λͺ¨λ¦¬μ— 적재 λ˜μ–΄ ν”„λ‘œμ„Έμ„œμ— μ˜ν•΄ 싀행쀑인 ν”„λ‘œκ·Έλž¨μ„ ν”„λ‘œμ„ΈμŠ€λΌκ³  λ³Ό 수 있음
profile
μ‘μ• πŸ£ μ˜ˆλΉ„ 개발자 μž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€