일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제
- CODEGATE
- SQL Injection
- 웹해킹
- webhacking.kr
- 화이트햇콘테스트
- ctf
- XSS
- Linux
- 알고리즘
- 상호배제
- SQL
- rubiya
- 프로세스
- 시스템프로그래밍
- sqli
- crosssitescripting
- ubuntu
- 시스템
- Los
- WebHacking
- 해킹
- hacking
- Writeup
- webhackingkr
- Python
- SQLInjection
- web
- lordofsqlinjection
- CCE
- Today
- Total
One_Blog
공유 자원 사용 시 일어나는 일 [운영체제 수업] 본문
날짜 : 2023년 3월 28일
오늘 수업 주제
: 공유 자원 사용 시 일어나는 일
오늘 배운 내용 요약
:
공유 자원 : 2개이상 프로세스가 사용하는 자원
배타적 사용 : 하나의 공유자원을 한순간에 하나의 프로세스가 사용
상호 배제 : 동시에 여러 프로세스들이 하나의 공유자원을 사용할 수 없게 함
-> 프로세스가 임계 영역에서 수행중일 때 타 프로세스가 공유자원을 사용할 수 없게 하는 것
임계 영역 : 경쟁 조건을 가진 공유 자원을 동시에 접근하는 코드를 실행하는 영역
경쟁 상태 : 공유된 자원에 둘 이상 프로세스가 접근하여 조작할 떄, 순서에 따라 결과값이 다양하게
변화할 수 있는 상황 -> 데이터의 무결성 및 정확성이 깨질 수 있다.
동기화 : 공유 자원이 있을 때, 여러 개의 프로세스들이 서로 동작을 맞추어 서로의 정보를 공유하는 것
Enter cs primitives
- 임계 영역 진입 전 검사
- 다른 프로세스가 임계 영역에 있는지 검사
Exit cs primitives
- 임계 영역을 벗어날 떄 후처리 과정 필요
상호 배제의 조건
- 두 프로세스는 동시에 임계 영역에 진입 불가
- 프로세스의 수, 속도에 영향 받지 않음
- 공유 자원을 사용하는 프로세스만 다른 프로세스를 차단 가능
- 프로세스가 공유 자원을 쓰려고 너무 오래 기다리는 것도 불가능
임계 영역 문제 해결을 위한 3가지 조건
상호배제
- 오류가 발생하지 않도록 오직 한 프로세스만 진입 가능
- 특정 프로세스가 임계 영역내에서 실행중 일 때, 다른 프로세는 임계 영역에 진입 불가
진행
- 임계 영역을 진행중인 프로세스가 없을 때, 다른 프로세스가 접근할 수 있도록 해야함
- 임계 영역을 진행 중인 프로세스가 없을 때, 들어가려는 프로세스가 여러개 있다면, 어떤
프로세스가 들어갈 지 결정하고, 이것은 유한한 시간 내에 이루어져야함.
유한 대기
- 다른 프로세스의 기아 방지를 위해 한번 들어간 프로세스에게 제한을 줌
- 임계 영역에 진입을 요청했을 때, 유한한 시간 내에 진입해야함.
기아 : 프로세스가 어떤 사건에 대해 무한정 기다리는 현상
임계 영역의 구조
Entry Section : 진입 영역 : 프로세스가 임계 영역 진입에 허락을 받는 부분
Critical Section : 임계 영역 : 한 순간에 한 프로세스만 실행해야 하는 부분
Exit Section : 탈출 영역 : 임계 영역 수행을 마치고 나갈 때 필요한 작업을 수행하는 부분
나머지 영역 : 임계 영역과 관련없는 나머지 코드 부분
'운영체제' 카테고리의 다른 글
운영체제 - 시험 대비 정리 (2) | 2023.04.26 |
---|---|
상호배제 방법 [운영체제 수업] (0) | 2023.04.11 |
병렬 프로세스 [운영체제 수업] (0) | 2023.03.21 |
스레드 [운영체제 수업] (0) | 2023.03.20 |
프로세스 [운영체제 수업] (0) | 2023.03.16 |