λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ’» Computer Science/- Operating System18

[운영체제] 10. 병행 ν”„λ‘œμ„ΈμŠ€ 병행 ν”„λ‘œμ„ΈμŠ€ 병행 ν”„λ‘œμ„ΈμŠ€μ˜ κ°œλ… 병행 ν”„λ‘œμ„ΈμŠ€ : ν”„λ‘œμ„ΈμŠ€λŠ” ν•œ λ²ˆμ— ν•œ 가지 일만 μˆ˜ν–‰ν•  수 μžˆμ§€λ§Œ _운영체제_κ°€ ν”„λ‘œμ„Έμ„œλ₯Ό λΉ λ₯΄κ²Œ μ „ν™˜ν•˜μ—¬ ν”„λ‘œμ„Έμ„œμ˜ μ‹œκ°„μ„ λ‚˜λˆ μ„œ 마치 μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ™μ‹œμ— μ‹€ν–‰ν•˜λŠ” κ²ƒμ²˜λŸΌ 보이게 ν•˜λŠ” 것++을 λœ»ν•œλ‹€. 병행 ν”„λ‘œμ„ΈμŠ€λŠ” 단일 μ²˜λ¦¬μ—μ–΄ μ„œλ‘œ λ…λ¦½μ μœΌλ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 독립 ν”„λ‘œμ„ΈμŠ€, 그리고 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ ν˜‘λ ₯ν•˜μ—¬ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” ν˜‘λ ₯ ν”„λ‘œμ„ΈμŠ€λ‘œ λ‚˜λ‰˜κ²Œ λœλ‹€. 독립 ν”„λ‘œμ„ΈμŠ€ 단일 처리 μ‹œμŠ€ν…œμ—μ„œ μˆ˜ν–‰ν•˜λŠ” 병행 ν”„λ‘œμ„ΈμŠ€ λ°©μ‹μœΌλ‘œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ—λŠ” 영ν–₯을 μ£Όκ³  받지 μ•ŠμœΌλ©΄μ„œ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λœλ‹€. 단일 ν”„λ‘œκ·Έλž˜λ° 닀쀑 ν”„λ‘œκ·Έλž˜λ° 닀쀑 처리 ν˜‘λ ₯ ν”„λ‘œμ„ΈμŠ€ ν˜‘λ ₯ ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ 영ν–₯을 μ£Όκ³  λ°›μœΌλ©° μƒν˜Έμž‘μš©μœΌλ‘œ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” 비동기적 ν”„λ‘œμ„ΈμŠ€ 이닀. .. 2019. 12. 9.
[운영체제] 9. μŠ€λ ˆλ“œμ˜ κ΅¬ν˜„ μŠ€λ ˆλ“œμ˜ κ΅¬ν˜„ μŠ€λ ˆλ“œλŠ” μš΄μ˜μ²΄μ œμ— 따라 λ‹€μ–‘ν•˜κ²Œ κ΅¬ν˜„λ  수 μžˆλŠ”λ°, 주둜 μ„Έ 가지 ν˜•νƒœλ‘œ κ΅¬λΆ„λœλ‹€. 1. μ‚¬μš©μž μˆ˜μ€€ μŠ€λ ˆλ“œ μŠ€λ ˆλ“œ 라이브러리λ₯Ό μ΄μš©ν•˜μ—¬ μž‘λ™ν•˜λŠ” ν˜•νƒœ λ‹€λŒ€μΌ (n:1) 맀핑 2. 컀널 μˆ˜μ€€ μŠ€λ ˆλ“œ 컀널(운영체제)μ—μ„œ μ§€μ›ν•˜λŠ” ν˜•νƒœ μΌλŒ€μΌ (1:1) 맀핑 3. ν˜Όν•©ν˜• μŠ€λ ˆλ“œ μ‚¬μš©μž μˆ˜μ€€ μŠ€λ ˆλ“œ + 컀널 μˆ˜μ€€ μŠ€λ ˆλ“œμ˜ ν˜•νƒœ λ‹€λŒ€λ‹€ (n:n) 맀핑 1. μ‚¬μš©μž μˆ˜μ€€ μŠ€λ ˆλ“œ μ‚¬μš©μž μˆ˜μ€€ μŠ€λ ˆλ“œλŠ” μ‚¬μš©μž μ˜μ—­μ˜ μŠ€λ ˆλ“œ 라이브러리둜 κ΅¬ν˜„ν•˜κ³ , μŠ€λ ˆλ“œμ™€ κ΄€λ ¨λœ λͺ¨λ“  ν–‰μœ„λ₯Ό μ‚¬μš©μž μ˜μ—­μ—μ„œ ν•˜λ―€λ‘œ 컀널이 μŠ€λ ˆλ“œμ˜ 쑴재λ₯Ό λͺ¨λ₯Έλ‹€. μ—¬κΈ°μ„œ μŠ€λ ˆλ“œ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μŠ€λ ˆλ“œμ˜ 생성과 μ’…λ£Œ, μŠ€λ ˆλ“œκ°„ λ©”μ‹œμ§€ 전달, μŠ€λ ˆλ“œμ˜ μŠ€μΌ€μ₯΄λ§λ“±μ„ λ³΄κ΄€ν•œλ‹€. ex) Phtread, Win32 Thread, Java Thread.. 2019. 12. 9.
[운영체제] 8. μŠ€λ ˆλ“œμ˜ κ°œλ…κ³Ό μƒνƒœ λ³€ν™” μŠ€λ ˆλ“œμ˜ κ°œλ…κ³Ό μƒνƒœ λ³€ν™” μŠ€λ ˆλ“œμ˜ κ°œλ… ν”„λ‘œμ„ΈμŠ€μ—λŠ” 두 가지 νŠΉμ„±μ΄ μ‘΄μž¬ν•œλ‹€ μžμ›, μ œμ–΄. 이 쀑 μ œμ–΄ λΆ€λΆ„λ§Œ λΆ„λ¦¬ν•œ μ‹€ν–‰ λ‹¨μœ„λ₯Ό μŠ€λ ˆλ“œ(Thread)라고 ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” 싀행쀑인 ν”„λ‘œκ·Έλž¨ 객체 자체λ₯Ό μ˜λ―Έν•˜λŠ” 것이고 μŠ€λ ˆλ“œλŠ” 이 μ‹€ν–‰μ˜ 흐름을 이야기 ν•œλ‹€. μŠ€λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€μ˜ 직접 μ‹€ν–‰ 정보λ₯Ό μ œμ™Έν•˜κ³  λ‚˜λ¨Έμ§€ ν”„λ‘œμ„ΈμŠ€ 관리 정보λ₯Ό κ³΅μœ ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€ 직접 μ‹€ν–‰ 정보: PC, SP, μŠ€νƒ, 지역 데이터, λ¬Έλ§₯ 정보 독립적 μ†Œμœ  각기 λ‹€λ₯Έ ν”„λ‘œμ‹œμ €λ₯Ό ν˜ΈμΆœν•˜κ³  λ‹€λ₯Έ 싀행을 κΈ°λ‘ν•˜κΈ° λ•Œλ¬Έμ— λ³„λ„μ˜ 곡간 ν•„μš” ν”„λ‘œμ„ΈμŠ€ 관리 정보: μ½”λ“œ, μ „μ—­ 데이터, νž™ 곡유 μŠ€λ ˆλ“œλ“€μ΄ λ™μ‹œμ— μ½”λ“œμ˜ λ™μΌν•œ 뢀뢄을 μ‹€ν–‰ν•  수 μžˆμ–΄μ•Ό ν•˜λ―€λ‘œ 곡유된 곡간 ν•„μš” κ²½λŸ‰ ν”„λ‘œμ„ΈμŠ€ LWP,Light_Weight_Process μŠ€λ ˆλ“œ .. 2019. 12. 9.
[운영체제] 7. ν”„λ‘œμ„ΈμŠ€μ˜ 관리 ν”„λ‘œμ„ΈμŠ€μ˜ 관리 ν”„λ‘œμ„ΈμŠ€μ˜ ꡬ쑰 μš΄μ˜μ²΄μ œμ—μ„œλŠ” λ‹€μ–‘ν•œ ν”„λ‘œμ„ΈμŠ€ κ΄€λ ¨ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ”λ° 이λ₯Ό μ•ŒκΈ° 전에 λ¨Όμ € ν”„λ‘œμ„ΈμŠ€μ˜ ꡬ쑰λ₯Ό μ•Œμ•„μ•Ό ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” 싀행쀑에 ν”„λ‘œμ„ΈμŠ€ 생성 μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ 톡해 μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€λ₯Ό 생성할 수 μžˆλ‹€. 이 λ•Œ ν”„λ‘œμ„ΈμŠ€ 생성 μˆœμ„œλ₯Ό 톡해 λΆ€λͺ¨-μžμ‹ 관계가 ν˜•μ„±λ˜λŠ”λ° 이λ₯Ό μœ μ§€ν•˜λ©° ν”„λ‘œμ„ΈμŠ€λ₯Ό κ³„μΈ΅μ μœΌλ‘œ μƒμ„±ν•œλ‹€. ν”„λ‘œμ„ΈμŠ€μ˜ 생성 1:μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€μ— ν”„λ‘œμ„ΈμŠ€ μ‹λ³„μž ν• λ‹Ή 2: ν”„λ‘œμ„ΈμŠ€μ˜ λͺ¨λ“  ꡬ성 μš”μ†Œλ₯Ό 포함할 수 μžˆλŠ” μ£Όμ†Œκ³΅κ°„κ³Ό PCB 곡간 ν• λ‹Ή. 3: PCB μ΄ˆκΈ°ν™”. (ν”„λ‘œμ„ΈμŠ€ μƒνƒœ, PC μ΄ˆκΈ°ν™”, μžμ› μš”μ²­, ν”„λ‘œμ„ΈμŠ€ μ œμ–΄ 정보) 4: ν•΄λ‹Ή 큐에 μ‚½μž… fork λͺ…λ Ήμ–΄λ‘œ μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€λ₯Ό 생성 ν”„λ‘œμ„ΈμŠ€μ˜ μ’…λ£Œ ν”„λ‘œμ„ΈμŠ€κ°€ λ§ˆμ§€λ§‰ λͺ…령을 μ‹€ν–‰ν•˜λ©΄ μš΄μ˜μ²΄μ œμ— μΈν„°λŸ½νŠΈ μ‹ ν˜Έλ₯Ό λ°œμƒμ‹œμΌœ.. 2019. 12. 7.