Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Linux
- 시스템프로그래밍
- crosssitescripting
- Python
- MySQL
- webhacking.kr
- Los
- SQL Injection
- 상호배제
- 웹해킹
- sqli
- hacking
- CCE
- WebHacking
- CODEGATE
- webhackingkr
- SQLInjection
- ctf
- XSS
- 운영체제
- web
- 해킹
- lordofsqlinjection
- ubuntu
- 프로세스
- 시스템
- rubiya
- Writeup
- SQL
- 알고리즘
Archives
- Today
- Total
One_Blog
교착 상태 (Deadlock) [운영체제 수업] 본문
728x90
날짜 : 2023년 5월 2일
오늘 수업 주제
: 교착 상태
오늘 배운 내용 요약
:
기아 상태
- 특정 프로세스의 우선 순위가 낮아서 원하는 자원을 할당받지 못함
해결방법
- 프로세스의 우선순위를 수시로 변경
- 오래 기다린 프로세스의 우선순위 높이기
자원 사용 순서
- 요청 및 대기
- 사용
- 해제
{
allocate(first)
//사용영역
free(first)
}
디바이스 : request, release
파일 : open, close
메모리 : allocate, free
세마포어 : wait, signal
뮤텍스 : lock, unlock
교착상태
- 프로세스가 무한정 대기하는 상태
- 2개 이상의 작업이 서로 끝나기를 기다리는 상태
교착상태
- 제한된 자원을 효율적으로 쓰려다 생기는 부작용
- 프로세스가 일어나지 않을 사건을 기다림
- 프로세스가 교착 상태에 빠지면 작업이 정지됨
- 운영체제가 해결 못하면 작업, 교체, 종료 등의 외부 간섭
- 하나 이상의 작업에 영향을 주어 무한정 대기를 만들며, 기아 상태보다 심각한 문제를 야기
- 두 프로세스 이상 사용하는 자원에 대해 발생
발생조건
상호배제
- 자원은 한번에 하나의 프로세스만 이용 가능
- 사용 중인 자원을 다른 프로세스가 쓰려면 요청 자원이 해제될 때 까지 대기
점유와 대기
- 점유 : 자원을 최소한 하나 정도 보유
- 대기 : 다른 프로세스에 할당된 자원을 얻으려고 대기하는 프로세스가 있어야 함.
비선점
- 선점 : 다른 프로세스가 쓰는 자원을 강탈
- 자원 점유 중인 프로세스가 해제해야 사용이 가능
순환 대기
- 자원을 받으려고 기다리는 상태가 원형이면 안됨
'운영체제' 카테고리의 다른 글
프로세스 스케줄링 [운영체제 수업] (0) | 2023.05.09 |
---|---|
교착상태 해결 방법 (0) | 2023.05.04 |
운영체제 - 시험 대비 정리 (2) | 2023.04.26 |
상호배제 방법 [운영체제 수업] (0) | 2023.04.11 |
공유 자원 사용 시 일어나는 일 [운영체제 수업] (0) | 2023.03.28 |