λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
ComputerScience πŸ“š/운영체제

[OS] 운영체제 μ„œλ‘ : 운영체제λ₯Ό κ³΅λΆ€ν•˜κΈ°μ— μ•žμ„œ

by μ•ˆμ£Όν˜• 2022. 1. 30.

ν•™μŠ΅ν•  ꡐ재

운영체제 ꡐ재 쀑 유λͺ…ν•œ 곡룑 책을 μ΄μš©ν•˜μ—¬ μš΄μ˜μ²΄μ œμ— λŒ€ν•΄ κ³΅λΆ€ν•΄λ³ΌκΉŒ ν•©λ‹ˆλ‹€. 사싀 저희 학ꡐ μ „κ³΅μž κΈ°μ€€μœΌλ‘œ 3ν•™λ…„ ν•„μˆ˜ κ³Όλͺ©μœΌλ‘œμ¨ 이미 μˆ˜κ°•ν•œ κ³Όλͺ©μ΄μ§€λ§Œ 학점 λ°›κΈ° κΈ‰κΈ‰ν–ˆλ˜ λ‚˜λ¨Έμ§€ 깊게 κ³΅λΆ€ν•˜μ§€λŠ” λͺ»ν–ˆλ˜ 것 κ°™μ•„ μƒˆλ‘­κ²Œ 곡뢀해보렀고 ν•©λ‹ˆλ‹€.

 

운영체제λ₯Ό μ™œ 곡뢀해야 ν•˜λŠ”κ°€?

운영체제(operating system)λŠ” 컴퓨터 ν•˜λ“œμ›¨μ–΄λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” λ˜ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μœ„ν•œ κΈ°λ°˜μ„ μ œκ³΅ν•˜λ©° 컴퓨터 μ‚¬μš©μžμ™€ 컴퓨터 ν•˜λ“œμ›¨μ–΄ μ‚¬μ΄μ—μ„œ μ€‘μž¬μž 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€. 운영체제의 λ†€λΌμš΄ 점은 κ΄‘λ²”μœ„ν•œ μ»΄ν“¨νŒ… ν™˜κ²½μ—μ„œ μ΄λŸ¬ν•œ 일듀을 맀우 λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ μˆ˜ν–‰ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” "사물 인터넷(Intet-net of Things)"을 ν¬ν•¨ν•˜λŠ” μžλ™μ°¨μ™€ ν™ˆ κΈ°κΈ°μ—μ„œ 슀마트폰, 개인용 컴퓨터, λŒ€ν˜• 컴퓨터 및 ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… ν™˜κ²½κΉŒμ§€ μ–΄λŠ κ³³μ—λ‚˜ μ‘΄μž¬ν•©λ‹ˆλ‹€.

 λ”°λΌμ„œ ν˜„λŒ€ μ»΄ν“¨νŒ… ν™˜κ²½μ—μ„œ 운영체제의 역할을 νƒκ΅¬ν•˜κΈ° μœ„ν•˜μ—¬ λ¨Όμ € 컴퓨터 ν•˜λ“œμ›¨μ–΄μ˜ ꡬ성과 ꡬ쑰λ₯Ό μ΄ν•΄ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ§€μ‹μ—λŠ” CPU, λ©”λͺ¨λ¦¬ 및 μž…μΆœλ ₯ μž₯μΉ˜μ™€ μ €μž₯μž₯μΉ˜κ°€ ν¬ν•¨λ˜λ©°, 운영체제의 근본적인 μ±…μž„μ€ μ΄λŸ¬ν•œ μžμ›λ“€μ„ ν”„λ‘œκ·Έλž¨μ— ν• λ‹Ήν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.  λ˜ν•œ 거의 λͺ¨λ“  μ½”λ“œκ°€ 운영체제 μœ„μ—μ„œ μ‹€ν–‰λ˜λ―€λ‘œ 운영체제 μž‘λ™λ°©μ‹μ— λŒ€ν•œ 지식은 μ μ ˆν•˜κ³  효율적이며 효과적이며 μ•ˆμ „ν•œ ν”„λ‘œκ·Έλž˜λ°μ— μ€‘μš”ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 운영체제의 κΈ°λ³Έ 지식, 컴퓨터 ν•˜λ“œμ›¨μ–΄ ꡬ동 방식 및 μ‘μš© ν”„λ‘œκ·Έλž¨μ— μ œκ³΅ν•˜λŠ” λ‚΄μš©μ„ μ΄ν•΄ν•˜λŠ” 것은 운영체제λ₯Ό μž‘μ„±ν•˜λŠ” μ‚¬λžŒλ“€μ—κ²Œ ν•„μˆ˜μ μΌ 뿐만 μ•„λ‹ˆλΌ κ·Έ μœ„μ—μ„œ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜κ³  운영체제λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒλ“€μ—κ²Œ 맀우 μœ μš©ν•©λ‹ˆλ‹€.

 

μš΄μ˜μ²΄μ œκ°€ ν•  일(What Operating Systems Do)

컴퓨터 μ‹œμŠ€ν…œμ€ λŒ€κ°œ μ•„λž˜μ˜ κ·Έλ¦Όκ³Ό 같이 λ„€ 가지 κ΅¬μ„±μš”μ†ŒμΈ ν•˜λ“œμ›¨μ–΄, 운영체제, μ‘μš© ν”„λ‘œκ·Έλž¨ 및 μ‚¬μš©μžλ‘œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€.

컴퓨터 μ‹œμŠ€ν…œ κ΅¬μ„±μš”μ†Œμ— λŒ€ν•œ 개랡적 ꡬ성도

 ν•˜λ“œμ›¨μ–΄λŠ” 쀑앙 처리 μž₯치(CPU), λ©”λͺ¨λ¦¬ 및 μž…μΆœλ ₯(I/O) μž₯치둜 κ΅¬μ„±λ˜μ–΄, κΈ°λ³Έ κ³„μ‚°μš© μžμ›μ„ μ œκ³΅ν•©λ‹ˆλ‹€. μ‘μš© ν”„λ‘œκ·Έλž¨μΈ μ›Œλ“œ ν”„λ‘œμ„Έμ„œ, μŠ€ν”„λ ˆλ“œμ‹œνŠΈ, 컴파일러, 그리고 μ›Ή λΈŒλΌμš°μ € 등은 μ‚¬μš©μžμ˜ 계산 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 이듀 μžμ›μ΄ μ–΄λ–»κ²Œ μ‚¬μš©λ μ§€λ₯Ό μ •μ˜ν•˜λ©°, μš΄μ˜μ²΄μ œλŠ” λ‹€μ–‘ν•œ μ‚¬μš©μžλ₯Ό μœ„ν•΄ λ‹€μ–‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨ κ°„μ˜ ν•˜λ“œμ›¨μ–΄ μ‚¬μš©μ„ μ œμ–΄ν•˜κ³  μ‘°μ •ν•©λ‹ˆλ‹€.

 λ˜ν•œ μš°λ¦¬λŠ” 컴퓨터 μ‹œμŠ€ν…œμ΄ ν•˜λ“œμ›¨μ–΄, μ†Œν”„νŠΈμ›¨μ–΄ 및 λ°μ΄ν„°λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€κ³  뢈 수 있으며, μš΄μ˜μ²΄μ œλŠ” 컴퓨터 μ‹œμŠ€ν…œμ΄ λ™μž‘ν•  λ•Œ 이듀 μžμ›μ„ μ μ ˆν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. 운영체제의 역할을 μ’€ 더 μ™„μ „νžˆ μ΄ν•΄ν•˜κΈ° μœ„ν•˜μ—¬ μ‚¬μš©μžμ™€ μ‹œμŠ€ν…œ 두 κ΄€μ μ—μ„œ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

(1) μ‚¬μš©μž 관점(User View)

컴퓨터에 λŒ€ν•œ μ‚¬μš©μžμ˜ 관점은 μ‚¬μš©λ˜λŠ” μΈν„°νŽ˜μ΄μŠ€μ— 따라 λ‹¬λΌμ§‘λ‹ˆλ‹€. λ§Žμ€ 컴퓨터 μ‚¬μš©μžλŠ” λž©ν†± ν˜Ήμ€ λͺ¨λ‹ˆν„°, ν‚€λ³΄λ“œ, 마우슀둜 κ΅¬μ„±λœ PC μ•žμ—μ„œ μž‘μ—…ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ‹œμŠ€ν…œμ€ ν•œ μ‚¬μš©μžκ°€ μžμ›μ„ λ…μ ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμœΌλ©° λͺ©ν‘œλŠ” μ‚¬μš©μžκ°€ μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ„ μ΅œλŒ€ν™”ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ 경우 μš΄μ˜μ²΄μ œλŠ” λŒ€λΆ€λΆ„ μ‚¬μš©μ˜ μš©μ΄μ„±μ„ μœ„ν•΄ μ„€κ³„λ˜κ³  μ„±λŠ₯에 μ•½κ°„ 신경을 μ“°κ³  λ‹€μ–‘ν•œ ν•˜λ“œμ›¨μ–΄μ™€ μ†Œν”„νŠΈμ›¨μ–΄ μžμ›μ΄ μ–΄λ–»κ²Œ κ³΅μœ λ˜λŠλƒμ˜ μžμ›μ˜ μ΄μš©μ—λŠ” μ „ν˜€ 신경을 쓰지 μ•ŠμŠ΅λ‹ˆλ‹€.

 μ μ  더 λ§Žμ€ μ‚¬μš©μžκ°€ 슀마트폰 및 νƒœλΈ”λ¦Ώκ³Ό 같은 λͺ¨λ°”일 μž₯치(일뢀 μ‚¬μš©μžμ˜ λ°μŠ€ν¬ν†± 및 λž©ν†± 컴퓨터 μ‹œμŠ€ν…œμ„ λŒ€μ²΄ν•˜λŠ” μž₯치)와 μƒν˜Έ μž‘μš©ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μž₯μΉ˜λŠ” 일반적으둜 μ…€λ£°λŸ¬ λ˜λŠ” 기타 무선 κΈ°μˆ μ„ 톡해 λ„€νŠΈμ›Œν¬μ— μ—°κ²°λ˜λ©°, λͺ¨λ°”일 μ»΄ν“¨ν„°μš© μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λŠ” 일반적으둜 μ‚¬μš©μžκ°€ μ‹€μ œ ν‚€λ³΄λ“œμ™€ 마우슀λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  ν™”λ©΄μ—μ„œ 손가락을 λˆ„λ₯΄κ³  μŠ€μ™€μ΄ν”„ ν•˜μ—¬ μ‹œμŠ€ν…œκ³Ό μƒν˜Έμž‘μš©ν•˜λŠ” ν„°μΉ˜μŠ€ν¬λ¦°μ΄ νŠΉμ§•μž…λ‹ˆλ‹€. λ˜ν•œ λ§Žμ€ νœ΄λŒ€ κΈ°κΈ°μ—μ„œ μ‚¬μš©μžκ°€ Apple의 Siri와 같은 μŒμ„± 인식 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 μƒν˜Έ μž‘μš©ν•  수 도 μžˆμŠ΅λ‹ˆλ‹€.

 μΌλΆ€ μ»΄ν“¨ν„°λŠ” μ‚¬μš©μž 관점이 μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ 맀우 μž‘μ€ μ˜ˆλ„ μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€λ©΄, κ°€μ „μ œν’ˆμ΄λ‚˜ μžλ™μ°¨ λ‚΄μ˜ λ‚΄μž₯ν˜• μ»΄ν“¨ν„°λŠ” 숫자 ν‚€νŒ¨λ“œλ₯Ό 가지고, μƒνƒœλ₯Ό 보이기 μœ„ν•΄ ν‘œμ‹œλ“±μ„ 켜고 끌 수 μžˆμ§€λ§Œ 이듀 μ»΄ν“¨ν„°λ‚˜ μš΄μ˜μ²΄μ œμ™€ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ‚¬μš©μžμ˜ κ°œμž… 없이 μž‘λ™ν•˜λ„λ‘ μ„€κ³„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

(2) μ‹œμŠ€ν…œ 관점(System View)

μ»΄ν“¨ν„°μ˜ κ΄€μ μ—μ„œ μš΄μ˜μ²΄μ œλŠ” ν•˜λ“œμ›¨μ–΄μ™€ κ°€μž₯ λ°€μ ‘ν•˜κ²Œ μ—°κ΄€λœ ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€. λ”°λΌμ„œ μš°λ¦¬λŠ” 운영체제λ₯Ό μžμ› ν• λ‹Ήμž(resource allocator)둜 뢈 수 μžˆμŠ΅λ‹ˆλ‹€. 컴퓨터 μ‹œμŠ€ν…œμ€ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μš”κ΅¬λ˜λŠ” μ—¬λŸ¬ 가지 μžμ›λ“€(ν•˜λ“œμ›¨μ–΄μ™€ μ†Œν”„νŠΈμ›¨μ–΄), 즉 CPU μ‹œκ°„, 맀λͺ¨λ¦¬ 곡간, μ €μž₯μž₯치 곡간, μž…μΆœλ ₯ μž₯치 등을 κ°€μ§‘λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” 이듀 μžμ›μ˜ κ΄€λ¦¬μžλ‘œμ„œ λ™μž‘ν•˜λ©° μžμ›μ— λŒ€ν•΄ μ„œλ‘œ 상좩할 μˆ˜λ„ μžˆλŠ” λ§Žμ€ μš”μ²­μ΄ μžˆμœΌλ―€λ‘œ, 컴퓨터 μ‹œμŠ€ν…œμ„ 효율적이고 κ³΅μ •ν•˜κ²Œ μš΄μ˜ν•  수 μžˆλ„λ‘ μ–΄λŠ μš”μ²­μ— μžμ›μ„ 할당할지λ₯Ό κ²°μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 μš΄μ˜μ²΄μ œμ— λŒ€ν•œ λ‹€μ†Œ λ‹€λ₯Έ 관점은 μ—¬λŸ¬ 가지 μž…μΆœλ ₯ μž₯μΉ˜μ™€ μ‚¬μš©μž ν”„λ‘œκ·Έλž¨μ„ μ œμ–΄ν•  ν•„μš”μ„±μ„ κ°•μ‘°ν•©λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” μ œμ–΄ ν”„λ‘œκ·Έλž¨(control program)μž…λ‹ˆλ‹€. μ œμ–΄ ν”„λ‘œκ·Έλž¨μ€ μ»΄ν“¨ν„°μ˜ λΆ€μ μ ˆν•œ μ‚¬μš©μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄ μ‚¬μš©μž ν”„λ‘œκ·Έλž¨μ˜ μˆ˜ν–‰μ„ μ œμ–΄ν•©λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” 특히 μž…μΆœλ ₯ μž₯치의 μ œμ–΄μ™€ μž‘λ™μ— 깊이 κ΄€μ—¬ν•©λ‹ˆλ‹€.

(3) 운영체제의 μ •μ˜

일반적으둜 μš΄μ˜μ²΄μ œμ— λŒ€ν•œ μ ν•©ν•œ μ •μ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” μœ μš©ν•œ μ»΄ν“¨νŒ… μ‹œμŠ€ν…œμ„ λ§Œλ“œλŠ” 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ” 합리적인 방법을 μ œκ³΅ν•˜κΈ° λ•Œλ¬Έμ— μ‘΄μž¬ν•˜λ©°, 컴퓨터 μ‹œμŠ€ν…œμ˜ κΈ°λ³Έ λͺ©ν‘œλŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜κ³  μ‚¬μš©μž 문제λ₯Ό λ”μš± μ‰½κ²Œ ν•΄κ²°ν•  수 있게 ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

 μ˜€λŠ˜λ‚  λͺ¨λ°”일 기기의 운영체제λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ 운영체제λ₯Ό κ΅¬μ„±ν•˜λŠ” κΈ°λŠ₯의 μˆ˜κ°€ λ‹€μ‹œ μ¦κ°€ν•˜κ³  μžˆμŒμ„ μ•Œ 수 있으며, λͺ¨λ°”일 μš΄μ˜μ²΄μ œμ—λŠ” μ’…μ’… 핡심 컀널(μ»΄ν“¨ν„°μ—μ„œ 항상 μ‹€ν–‰λ˜λŠ” ν”„λ‘œκ·Έλž¨) 뿐만 μ•„λ‹ˆλΌ 미듀웨어(μ‘μš© ν”„λ‘œκ·Έλž¨ κ°œλ°œμžμ—κ²Œ μΆ”κ°€ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” 일련의 μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬)도 ν¬ν•¨λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, Apple의 IOS 및 Google의 Android와 같이 κ°€μž₯ 유λͺ…ν•œ 두 가지 λͺ¨λ°”일 운영체제 κ°κ°μ—λŠ” λ°μ΄ν„°λ² μ΄μŠ€, λ©€ν‹°λ―Έλ””μ–΄ 및 κ·Έλž˜ν”½μ„ μ§€μ›ν•˜λŠ” 미듀웨어와 ν•¨κ»˜ 핡심 컀널이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

 μš”μ•½ν•˜μžλ©΄ μš΄μ˜μ²΄μ œλŠ” 컀널, 미듀웨어 ν”„λ ˆμž„μ›Œν¬ 및 μ‹œμŠ€ν…œ μ‹€ν–‰ 쀑에 μ‹œμŠ€ν…œμ„ κ΄€λ¦¬ν•˜λŠ” 데 도움이 λ˜λŠ” μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž¨μ΄ ν¬ν•¨λ©λ‹ˆλ‹€.

λŒ“κΈ€