[OS] 기술 λ©΄μ ‘ 질문 리슀트

πŸ’‘ μš΄μ˜μ²΄μ œλž€ ? 운영 μ²΄μ œλŠ” 컴퓨터 ν•˜λ“œμ›¨μ–΄κ°€ 컴퓨터 μ†Œν”„νŠΈμ›¨μ–΄μ™€ ν†΅μ‹ ν•˜κ³  μž‘λ™ν•˜λ„λ‘ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ‘œκ·Έλž¨μ΄λ‹€. πŸ’‘μš΄μ˜μ²΄μ œμ˜ μ£Όμš” λͺ©μ μ€? 운영 μ²΄μ œμ—λŠ” 두 가지 μ£Όμš” λͺ©μ μ΄ μžˆλ‹€.1. 컴퓨터 μ‹œμŠ€ν…œμ˜ 계산 ν™œλ™μ„ κ΄€λ¦¬ν•˜μ—¬ 컴퓨터 μ‹œμŠ€ν…œμ΄ μ œλŒ€λ‘œ μž‘λ™ν•˜λ„λ‘ ν•œλ‹€.2. ν”„λ‘œκ·Έλž¨ 개발 및 싀행을 μœ„ν•œ ν™˜κ²½μ„ μ œκ³΅ν•œλ‹€. πŸ’‘ ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œλž€? ν”„λ‘œμ„ΈμŠ€λŠ” μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨μ„ λ§ν•˜λ©°, μ™„λ²½νžˆ 독립적이기 λ•Œλ¬Έμ— λ©”λͺ¨λ¦¬ μ˜μ—­(Code, Data, Heap, Stack)을 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ κ³΅μœ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” μ΅œμ†Œ 1개의 μ“°λ ˆλ“œ(메인 μ“°λ ˆλ“œ)λ₯Ό 가지고 μžˆλ‹€. μ“°λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ Stack만 λ”°λ‘œ ν• λ‹Ή λ°›κ³ , κ·Έ μ΄μ™Έμ˜ λ©”λͺ¨λ¦¬ μ˜μ—­(Code, Data, Heap)μ˜μ—­μ„ κ³΅μœ ν•˜κΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ μ“°λ ˆλ“œμ˜..

CS 2022. 8. 30. 21:46
[OS] νŽ˜μ΄μ§•κ³Ό μ„Έκ·Έλ©˜ν…Œμ΄μ…˜

πŸ’‘ νŽ˜μ΄μ§•(Paging) ν”„λ‘œμ„ΈμŠ€μ˜ μ£Όμ†Œ 곡간을 νŽ˜μ΄μ§€(page)λž€ λ‹¨μœ„μ˜ κ³ μ •λœ μ‚¬μ΄μ¦ˆλ‘œ λ‚˜λˆ„μ–΄ 물리적 λ©”λͺ¨λ¦¬μ— λΆˆμ—°μ†μœΌλ‘œ μ €μž₯ν•˜λŠ” 방식 → 연속 ν• λ‹Ήμ—μ„œμ²˜λŸΌ 연속적인 λ©”λͺ¨λ¦¬ 곡간을 μ°Ύκ±°λ‚˜ λ§Œλ“€ ν•„μš”κ°€ μ—†μŒ → μ™ΈλΆ€ λ‹¨νŽΈν™” ν•΄κ²°ν•  수 μžˆλŠ” λ©”λͺ¨λ¦¬ 관리 κΈ°μˆ μ΄λ‹€. λ‘λ£¨λ§ˆλ¦¬λ‘œ 책을 μž‘μ„±ν•˜λŠ” 것과 μ‚¬μ „ν˜•μ‹μœΌλ‘œ 책을 μž‘μ„±ν•˜λŠ” κ²ƒμ˜ 차이처럼 ν•œ ν”„λ‘œμ„ΈμŠ€μ˜ 논리 μ£Όμ†Œ 곡간을 동떨어진 곡간듀에 λ°°μ •ν•  수 μžˆλ„λ‘ 지원해쀀닀. Dynamic allocationν•œ ν˜•νƒœ(동적할당) : ν•œ ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ 논리적인 μ£Όμ†Œλ₯Ό 물리적인 μ£Όμ†Œλ‘œ λ§€ν•‘ν•΄μ€Œ (어디에 ν• λ‹Ήλ˜λ“  μΌκ΄€λ˜κ²Œ μ‚¬μš©κ°€λŠ₯함 ) (참고둜 λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λŠ” 0λ²ˆλΆ€ν„° ν• λ‹Ή λ˜μ–΄μ§) πŸ’‘ νŽ˜μ΄μ§€ ν…Œμ΄λΈ”(Page Table) νŽ˜μ΄μ§€ 맀핑 ν…Œμ΄λΈ”(Page mapping Tabl..

CS 2022. 8. 30. 21:41
[OS] νŽ˜μ΄μ§€ ꡐ체 μ•Œκ³ λ¦¬μ¦˜

πŸ’‘νŽ˜μ΄μ§€ ꡐ체 νŽ˜μ΄μ§€ λΆ€μž¬(page fault)κ°€ λ°œμƒν•˜λ©΄ μš”μ²­λœ νŽ˜μ΄μ§€λ₯Ό λ””μŠ€ν¬μ—μ„œ λ©”λͺ¨λ¦¬λ‘œ 읽어와야 ν•œλ‹€. μ΄λ•Œ 물리적 λ©”λͺ¨λ¦¬μ— 빈 ν”„λ ˆμž„μ΄ μ‘΄μž¬ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 물리적 λ©”λͺ¨λ¦¬μ— μ˜¬λΌμ™€ μžˆλŠ” νŽ˜μ΄μ§€ 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•΄μ„œ λ””μŠ€ν¬μ˜ μŠ€μ™‘ μ˜μ—­μœΌλ‘œ 보내야 ν•œλ‹€. μŠ€μ™‘μ΄λΌν•¨μ€ μ‹œμŠ€ν…œμ— λ©”λͺ¨λ¦¬κ°€ λΆ€μ‘±ν•  경우 ν•˜λ“œ λ””μŠ€ν¬μ˜ 일뢀 곡간을 ν™œμš©ν•΄μ„œ μž‘μ—…μ„ λ„μ™€μ£ΌλŠ” μ˜μ—­ → 즉 λ©”λͺ¨λ¦¬ 곡간 뢀쑱을 μœ„ν•œ μž„μ‹œλ°©νŽΈ 이와 같은 과정을 νŽ˜μ΄μ§€ ꡐ체라고 ν•©λ‹ˆλ‹€. πŸ”‘ νŽ˜μ΄μ§€ λΆ€μž¬λž€? CPUμ—μ„œ ν˜„μž¬ μš”μ²­ν•œ νŽ˜μ΄μ§€κ°€ λ©”λͺ¨λ¦¬μ— μ—†μ–΄ 무효둜 μ„ΈνŒ…λ˜μ–΄ μžˆλŠ” 경우둜, νŽ˜μ΄μ§€λ₯Ό λ””μŠ€ν¬μ—μ„œ μ½μ–΄μ˜€λŠ” κ³Όμ •μ—μ„œ overheadκ°€ λ°œμƒν•˜μ—¬ μ„±λŠ₯에 큰 영ν–₯을 λ―ΈμΉœλ‹€. πŸ’‘FIFO(First In First Out) μ•Œκ³ λ¦¬μ¦˜ (νŽ˜μ΄μ§€μ—..

CS 2022. 8. 30. 21:40
[OS] μ‹œμŠ€ν…œ 호좜(System calls)

πŸ’‘μ‹œμŠ€ν…œ ν˜ΈμΆœμ΄λž€? ☁️ 기본적인 운영체제의 κΈ°λŠ₯ 기본적으둜 '운영체제(Operating System)' λŠ” Operating(운영)μ΄λž€ 이름에 걸맞게 컴퓨터λ₯Ό μ œλŒ€λ‘œ μ‹€ν–‰ 및 μ‚¬μš©ν•˜κ²Œ ν•΄μ£ΌλŠ” ν”„λ‘œκ·Έλž¨μ΄λ‹€. 마우슀λ₯Ό μ›€μ§μ΄λŠ” 것뢀터(λ§ˆμš°μŠ€λž€ ν•˜λ“œμ›¨μ–΄λ‘œλΆ€ν„° μ˜€λŠ” μ‹ ν˜Έλ₯Ό λͺ¨λ‹ˆν„° ν”½μ…€κ³Ό ν•¨κ»˜ ν•΄μ„ν•˜μ—¬ ν•„μš”ν•œ 계산값을 CPU에 μ „λ‹¬ν•˜κ³ , 계산받은 값을 ν”„λ‘œκ·Έλž¨μ— μ „λ‹¬ν•΄μ£Όκ±°λ‚˜ 화면에 λ³΄μ—¬μ£ΌλŠ” 것)μš°λ¦¬κ°€ 더블 ν΄λ¦­ν•œ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰κ³Ό μ’…λ£ŒκΉŒμ§€.. κ·Έλž˜μ„œ 무슨 관계가 μžˆλ‚˜λ©΄, λ°”λ‘œ μ‹œμŠ€ν…œ 콜(system call)μ΄λž€ 것이 λ°”λ‘œ ν”„λ‘œμ„ΈμŠ€κ°€ 운영체제(system)μ—κ²Œ 운영체제 κΈ°λŠ₯을 μš”μ²­ν•˜λŠ”(call) 것!!!! πŸ’‘μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ ν•˜λŠ” μ΄μœ λŠ”? μ‹œμŠ€ν…œμ½œ(system call)'μ΄λž€ ν”„λ‘œμ„ΈμŠ€κ°€ 컴퓨터λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œ(sy..

CS 2022. 8. 30. 21:35
λ°˜μ‘ν˜•
Β«   2024/09   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30