[μŠ€ν„°λ””] 3-2. ν”„λ‘œμ„ΈμŠ€ μƒνƒœμ™€ 계측 ꡬ쑰
Β·
개발/운영체제
ν”„λ‘œμ„ΈμŠ€λŠ” μ €λ§ˆλ‹€μ˜ μƒνƒœλ₯Ό 가지고 μžˆλ‹€. μš΄μ˜μ²΄μ œλŠ” μ΄λŸ¬ν•œ μƒνƒœλ₯Ό PCB에 μ €μž₯ν•˜μ—¬ ν™œμš©ν•œλ‹€. 그리고 μš΄μ˜μ²΄μ œλŠ” 이처럼 λ™μ‹œμ— μ‹€ν–‰λ˜λŠ” 각기 λ‹€λ₯Έ μƒνƒœμ˜ ν”„λ‘œμ„ΈμŠ€λ“€μ„ κ³„μΈ΅μ μœΌλ‘œ κ΄€λ¦¬ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€ μƒνƒœ- 생성 μƒνƒœ  γ„΄ 이제 막 λ©”λͺ¨λ¦¬μ— μ μž¬λ˜μ–΄ PCBλ₯Ό ν• λ‹Ή 받은 μƒνƒœ  γ„΄ μ–Έμ œλ“ μ§€ CPUλ₯Ό ν• λ‹Ήλ°›μ•„ μ‹€ν–‰ν•  수 있게되면 μ€€λΉ„ μƒνƒœκ°€ λœλ‹€.- μ€€λΉ„ μƒνƒœ  γ„΄ λ‹Ήμž₯이라도 CPUλ₯Ό ν• λ‹Ή λ°›μ•„ μ‹€ν–‰ ν•  수 μžˆλŠ” μƒνƒœ.  γ„΄ ν•˜μ§€λ§Œ, 아직 μ°¨λ‘€κ°€ λ˜μ§€μ•Šμ•„ μ€€λΉ„ 쀑인 μƒνƒœμ΄λ‹€.  γ„΄ μžμ‹ μ˜ μ°¨λ‘€κ°€ 되면 μ‹€ν–‰ μƒνƒœλ‘œ λ°”λ€ŒλŠ”λ° 이λ₯Ό dispatch라고도 ν•œλ‹€.- μ‹€ν–‰ μƒνƒœ  γ„΄ CPUλ₯Ό ν• λ‹Ήλ°›μ•„ μ‹€ν–‰ 쀑인 μƒνƒœ  γ„΄ ν• λ‹Ήλœ μ‹œκ°„μ„ λͺ¨λ‘ μ‚¬μš©ν•˜λ©΄ μ€€λΉ„ μƒνƒœλ‘œ 바뀐닀.  γ„΄ μ‹€ν–‰ 도쀑 μž…μΆœλ ₯ μž₯치λ₯Ό μ‚¬μš©ν•˜λ©΄ 이 μž‘μ—…μ΄ ..
[μŠ€ν„°λ””] 3-1. ν”„λ‘œμ„ΈμŠ€ κ°œμš”
Β·
개발/운영체제
더블 ν΄λ¦­ν•˜κ±°λ‚˜ μ»€λ§¨λ“œ 라인을 톡해 μ €μž₯ μž₯μΉ˜μ— μ €μž₯된 μ–΄λ–€ μ‘μš© ν”„λ‘œκ·Έλž¨μ„  μ‹€ν–‰ν•˜λ©΄ μš΄μ˜μ²΄μ œλŠ” 이λ₯Ό λ©”λͺ¨λ¦¬μ— μ μž¬ν•˜κ³  μ‹€ν–‰ν•œλ‹€. 이 λ•Œ μ‹€ν–‰λ˜λŠ” ν”„λ‘œκ·Έλž¨μ€ 'ν”„λ‘œμ„ΈμŠ€(Process)'κ°€ λœλ‹€. μ΄λŸ¬ν•œ 과정을 ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•œλ‹€κ³  ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” 크게 두 κ°€μ§€λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€.1. ν¬κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€ (foreground process)  - μ‚¬μš©μžκ°€ λ³Ό 수 μžˆλŠ” κ³΅κ°„μ—μ„œ μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€ (ex. μ›Ή λΈŒλΌμš°μ €, κ²Œμž„, μ›Œλ“œ ...)2. λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€ (background process)  - μ‚¬μš©μžκ°€ λ³Ό 수 μ—†λŠ” κ³΅κ°„μ—μ„œ μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€    - μ‚¬μš©μžμ™€ 직접 μƒν˜Έμž‘μš©μ΄ κ°€λŠ₯ν•œ λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€    - μ‚¬μš©μžμ™€ μƒν˜Έμž‘μš©ν•˜μ§€ μ•Šκ³  κ·Έμ € 정해진 일만 μˆ˜ν–‰ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€ (데λͺ¬, μ„œλΉ„μŠ€)  ν”„λ‘œ..
[μŠ€ν„°λ””] 2. 운영체제의 큰 κ·Έλ¦Ό
Β·
개발/운영체제
- μ»€λ„μ΄λž€?- 운영체제의 μ„œλΉ„μŠ€ μ’…λ₯˜- μ‹œμŠ€ν…œ 콜과 이쀑 λͺ¨λ“œλž€? μš΄μ˜μ²΄μ œλŠ” ꡉμž₯히 λ°©λŒ€ν•œ ν”„λ‘œκ·Έλž¨μ΄λ‹€. μ„Έμƒμ—λŠ” λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ μš΄μ˜μ²΄μ œκ°€ μžˆλ‹€.그렇기에 μš΄μ˜μ²΄μ œκ°€ ν”„λ‘œκ·Έλž¨μ— μ œκ³΅ν•˜λŠ” κΈ°λŠ₯은 정말 λ‹€μ–‘ν•˜λ‹€. ν•˜μ§€λ§Œ, κ°€μž₯ 핡심적인 μ„œλΉ„μŠ€λŠ” μ‘΄μž¬ν•œλ‹€.μ΄λŸ¬ν•œ 운영체제의 핡심 μ„œλΉ„μŠ€λ₯Ό λ‹΄λ‹Ήν•˜λŠ” 뢀뢄을 '컀널(Kernel)'이라고 ν•œλ‹€. μš΄μ˜μ²΄μ œμ—λŠ” μ†ν•˜μ§€λ§Œ 컀널에 μ†ν•˜μ§€ μ•ŠλŠ” κΈ°λŠ₯ -> UI; User Interface  μ΄μ€‘λͺ¨λ“œμ™€ μ‹œμŠ€ν…œ ν˜ΈμΆœμ‚¬μš©μžκ°€ μ‹€ν–‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ€ μžμ›μ— 직접 μ ‘κ·Όν•  수 μ—†λ‹€. μžμ›μ— 직접 μ ‘κ·Όν•˜λŠ” 것은 μœ„ν—˜ν•˜λ‹€. μ™œλƒλ©΄, 예λ₯Ό λ“€μ–΄ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ SSDλ‚˜ HDD와 같은 μ €μž₯μž₯μΉ˜μ— 직접 μ ‘κ·Όν•˜μ—¬ μ–΄λ–€ νŒŒμΌμ„ μˆ˜μ •ν•œ 경우 λ§Œμ•½ μˆ˜μ • μ „, ν›„λ‘œ λ‹€λ₯Έ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ 이 μžμ›μ— μ ‘κ·Όν•˜μ˜€λ‹€..
[μŠ€ν„°λ””] 1. μš΄μ˜μ²΄μ œλž€?
Β·
개발/운영체제
μœˆλ„μš°, λ§₯ OS, iOS, Lunux, μ•ˆλ“œλ‘œμ΄λ“œ λ“±λ“±... 수 λ§Žμ€ μš΄μ˜μ²΄μ œκ°€ 컴퓨터 ν˜Ήμ€ νœ΄λŒ€ν°μ—μ„œ μ‚¬μš©λ˜κ³  μžˆλ‹€. λ„λŒ€μ²΄ μš΄μ˜μ²΄μ œκ°€ λ¬΄μ—‡μ΄κΈΈλž˜ λ”°λ‘œ κ³΅λΆ€ν•΄μ•Όν• λ§ŒνΌ μ€‘μš”ν•œ κ²ƒμΌκΉŒ? μ™œ, κ°œλ°œμžλŠ” μ™œ 운영체제λ₯Ό μ•Œμ•„μ•Όν• κΉŒ? λͺ¨λ“  ν”„λ‘œκ·Έλž¨μ€ 싀행을 μœ„ν•΄ (μ‹œμŠ€ν…œ)μžμ›μ„ ν•„μš”λ‘œ ν•œλ‹€.γ„΄ μžμ› : ν”„λ‘œκ·Έλž¨ 싀행에 μžˆμ–΄μ„œ λ§ˆλ•…νžˆ ν•„μš”ν•œ μš”μ†Œγ„΄ μžμ›μ—λŠ” μ»΄ν“¨ν„°μ˜ λ„€ 가지 핡심 λΆ€ν’ˆμ΄ ν¬ν•¨λœλ‹€.γ„΄ ν•˜λ“œμ›¨μ–΄λ§Œμ„ μžμ›μ΄λΌκ³  μΉ­ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€. μš΄μ˜μ²΄μ œλŠ” μ‹€ν–‰ν•  ν”„λ‘œκ·Έλž¨μ— ν•„μš”ν•œ μžμ›μ„ ν• λ‹Ήν•˜κ³  ν”„λ‘œκ·Έλž¨μ΄ μ˜¬λ°”λ₯΄κ²Œ μ‹€ν–‰λ˜λ„λ‘ λ•λŠ” νŠΉλ³„ν•œ ν”„λ‘œκ·Έλž¨μ΄λ‹€.운영체제 λ˜ν•œ ν”„λ‘œκ·Έλž¨μ΄κΈ° λ•Œλ¬Έμ— λ©”λͺ¨λ¦¬μ— μ μž¬λ˜μ–΄ μ‹€ν–‰λœλ‹€. ν•˜μ§€λ§Œ, μš΄μ˜μ²΄μ œλŠ” μ»΄ν“¨ν„°μ˜ μ‹€ν–‰μ—μ„œ μ€‘μš”ν•œ 역할을 ν•˜κΈ° λ•Œλ¬Έμ— λ”°λ‘œ λ©”λͺ¨λ¦¬μ— μ μž¬λ˜λŠ” μ˜μ—­μ΄ ν• λ‹Ήλ˜μ–΄ μžˆλŠ”..