β˜‚οΈ React pre-track) CS4. OS

YeonnΒ·2024λ…„ 8μ›” 4일
0

elice_React Track

λͺ©λ‘ 보기
4/7
post-thumbnail

πŸ“– 운영체제(OS)

πŸ“Œ 운영체제( =OS, Operating System )
ν•˜λ“œμ›¨μ–΄μ™€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ΄€λ¦¬ν•˜κ³  μ œμ–΄ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄, μ‹œμŠ€ν…œ μ†Œν”„νŠΈμ›¨μ–΄

μš΄μ˜μ²΄μ œλŠ” μ»΄ν“¨ν„°μ˜ μžμ›( resource )λ₯Ό 효율적으둜 κ΄€λ¦¬ν•΄μ£ΌλŠ” μ‹œμŠ€ν…œ μ†Œν”„νŠΈμ›¨μ–΄μ΄λ‹€. μ΄λ•Œ μ»΄ν“¨ν„°μ˜ μžμ›μ΄λž€ 컴퓨터가 μž‘λ™ν•˜κΈ° μœ„ν•œ λͺ¨λ“  것을 μ˜λ―Έν•˜λŠ” κ²ƒμœΌλ‘œ λ©”λͺ¨λ¦¬ 같은 μ‹œμŠ€ν…œ λ‚΄μ˜ λͺ¨λ“  물리적 λΆ€ν’ˆμ„ λ§ν•œλ‹€.

βœ”οΈ ν”„λ‘œμ„ΈμŠ€(process)

ν”„λ‘œμ„ΈμŠ€λž€ μš΄μ˜μ²΄μ œμ— μ˜ν•΄ ν˜„μž¬ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨μ„ λ§ν•˜λ©° μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° μžμ›μ„ ν• λ‹Ή λ°›μ•„ μ‹€ν–‰λœλ‹€. ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ μ •λ³΄λŠ” 'μž‘μ—… κ΄€λ¦¬μž', 'ν™œμ„± μƒνƒœ 보기' λ“± 을 톡해 CPU, λ©”λͺ¨λ¦¬ λ“±μ˜ λ‚΄μš©μ„ λ³Ό 수 μžˆλ‹€.

βœ”οΈ μŠ€λ ˆλ“œ(Thread)

μŠ€λ ˆλ“œλž€ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ μ‹€ν–‰λ˜λŠ” μž‘μ—…μ˜ λ‹¨μœ„ 이닀. ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λŠ” ν•˜λ‚˜ μ΄μƒμ˜ μŠ€λ ˆλ“œλ‘œ 이루어져 μžˆλ‹€.

βœ”οΈ ν”„λ‘œμ„ΈμŠ€(process)와 μŠ€λ ˆλ“œ(Thread)`

  • μ‹±κΈ€ ν”„λ‘œμ„ΈμŠ€: ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ§Œ μ‹€ν–‰
  • λ©€ν‹° ν”„λ‘œμ„ΈμŠ€: μ—¬λŸ¬ 개의 ν”„λ‘œμ„ΈμŠ€κ°€ 독립적인 λ©”λͺ¨λ¦¬ κ³΅κ°„μ—μ„œ μ‹€ν–‰
  • μ‹±κΈ€ μŠ€λ ˆλ“œ: ν•˜λ‚˜μ˜ μž‘μ—…μ„ μ™„λ£Œν•  λ•Œ κΉŒμ§€ λ‹€λ₯Έ μž‘μ—… μˆ˜ν–‰ν•˜μ§€ μ•ŠμŒ
  • λ©€ν‹° μŠ€λ ˆλ“œ: μ—¬λŸ¬ 개의 μŠ€λ ˆλ“œκ°€ λ™μ‹œμ— μž‘μ—…μ„ μˆ˜ν–‰

β†’ 무쑰건 'λ©€ν‹°'κ°€ 쒋은 건 μ•„λ‹˜ ! λ©”λͺ¨λ¦¬μ™€ μž‘μ—… νš¨μœ¨μ„ ν•¨κ»˜ κ³ λ €ν•΄μ•Ό 함

❓ 운영체제의 μ—­ν• 

βœ”οΈ λ©”λͺ¨λ¦¬ 관리

μ»΄ν“¨ν„°λŠ” λ©”λͺ¨λ¦¬μ— μ €μž₯된 λ°μ΄ν„°λ“€μ˜ μ£Όμ†Œλ₯Ό μ°Έμ‘°μ—μ„œ 데이터λ₯Ό μ‹λ³„ν•œλ‹€. μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œκ·Έλž¨μ΄ λ©”λͺ¨λ¦¬μ— μ €μž₯λ˜λŠ” μ£Όμ†Œλ₯Ό ν• λ‹Ήν•œλ‹€. 이 λ•Œ 가상 λ©”λͺ¨λ¦¬ κ°œλ…μ„ 톡해 ν”„λ‘œκ·Έλž¨μ΄ μ‹€μ œλ‘œ μ‹€ν–‰λ˜λŠ” λΆ€λΆ„λ§Œ λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜μ—¬ μ‹€μ œ 물리적인 λ©”λͺ¨λ¦¬μ˜ 크기보닀 큰 ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•  수 μžˆλ„λ‘ ν•΄ μ€€λ‹€.

이 λ•Œ, μ‚¬μš©μž μž…μž₯μ—μ„œλŠ” μ‹€μ œ λ©”λͺ¨λ¦¬ 크기보닀 더 큰 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ²˜λŸΌ λŠκ»΄μ§„λ‹€.

βœ”οΈ ν”„λ‘œμ„ΈμŠ€ 관리

μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μ‹€ν–‰λ˜λŠ” μˆœμ„œλ₯Ό κ΄€λ¦¬ν•œλ‹€. 이λ₯Ό ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§μ΄λΌκ³  ν•œλ‹€. 이λ₯Ό 톡해 μ»΄ν“¨ν„°λŠ” μ—¬λŸ¬ 개의 μž‘μ—…μ„ λ™μ‹œμ— μ‹€ν–‰ν•˜λŠ” λ©€ν‹°ν…ŒμŠ€ν‚Ή( multitasking )이 κ°€λŠ₯ν•˜λ‹€. ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§μ€ λ©€ν‹°ν…ŒμŠ€ν‚Ή 뿐만 μ•„λ‹ˆλΌ μ§„ν–‰ 쀑인 ν”„λ‘œμ„ΈμŠ€λ₯Ό μž μ‹œ λ©ˆμΆ”κ³  λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ¨Όμ € μ‹€ν–‰ν•˜κ±°λ‚˜ 멈좰 있던 이전 ν”„λ‘œμ„ΈμŠ€λ₯Ό λ‹€μ‹œ λΆˆλŸ¬μ˜€λŠ” λ“± λ‹€μ–‘ν•œ μž‘μ—…μ„ ν¬ν•¨ν•œλ‹€.

βœ”οΈ λ‹€λ₯Έ μ—­ν• λ“€ ?

  • λ„€νŠΈμ›Œν¬ μžμ›μ— λŒ€ν•œ 관리
  • 파일과 디렉터리( 폴더 )λ₯Ό 생성, 볡사, μ‚­μ œν•˜λŠ” 파일 μ‹œμŠ€ν…œ 관리
  • μž…μΆœλ ₯ μž₯치의 관리λ₯Ό ν†΅ν•œ μž…μΆœλ ₯ μž‘μ—…
  • μ‚¬μš©μž 인증, λ°©ν™”λ²½ λ“± λ³΄μ•ˆ 및 인증


❓ 컀널과 μ…Έ


μš΄μ˜μ²΄μ œλŠ” ν•˜λ“œμ›¨μ–΄λΆ€ν„° μ…ΈκΉŒμ§€λ₯Ό μ˜λ―Έν•œλ‹€. Application( μ‘μš© μ†Œν”„νŠΈμ›¨μ–΄ )λŠ” 컀넬과 셸을 톡해 ν•˜λ“œμ›¨μ–΄μ— μ ‘κ·Όν•˜μ—¬ μž‘λ™ν•œλ‹€.

βœ”οΈ 컀널( Kernel )

πŸ“Œ 운영체제의 핡심 λΆ€λΆ„, 즉 ν•˜λ“œμ›¨μ–΄μ™€ μ†Œν”„νŠΈμ›¨μ–΄μ˜ μΈν„°νŽ˜μ΄μŠ€

컀널(kernel)은 컴퓨터 운영 체제의 핡심이 λ˜λŠ” 컴퓨터 ν”„λ‘œκ·Έλž¨μœΌλ‘œ, μ‹œμŠ€ν…œμ˜ λͺ¨λ“  것을 μ™„μ „νžˆ μ œμ–΄(control)ν•œλ‹€. 운영체제의 핡심 κΈ°λŠ₯ λ‹΄λ‹ΉμœΌλ‘œ ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§, λ©”λͺ¨λ¦¬ 관리, μž…μΆœλ ₯ μ œμ–΄ λ“± 을 ν•œλ‹€.

βœ”οΈ μ…Έ( Shell )

πŸ“Œ 컀널과 μ‚¬μš©μž κ°„μ˜ μΈν„°νŽ˜μ΄μŠ€

셸은 μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λͺ…λ Ήμ–΄λ₯Ό ν•΄μ„ν•˜μ—¬ 컀널에 μ „λ‹¬ν•œλ‹€. 그리고 컀널이 그것을 μ‹€ν–‰ν•œ κ²°κ³Όλ₯Ό μ‚¬μš©μžμ—κ²Œ 좜λ ₯ν•΄μ€€λ‹€. 이λ₯Ό 톡해 μ‚¬μš©μžλŠ” 운영체제, 컀널이 무엇을 μ–΄λ–»κ²Œ ν•˜λŠ”μ§€λŠ” μ •ν™•νžˆ λͺ¨λ₯΄λ”라도 셸을 톡해 컀널을 ν™œμš©ν•  수 μžˆλ‹€. 또 두 개의 ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— λ™μΌν•œ μžμ›μ— μ ‘κ·Όν•  경우 등에 λ°œμƒν•  수 μžˆλŠ” '동기화 문제'λ₯Ό 관리해쀀닀.

0개의 λŒ“κΈ€