문제링크 : https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class BJ3020 { static int n, h, cnt; static int[] down, up;..
📌 교착상태(Deadlock) → 시스템 자원에 대한 요구가 뒤엉킨 상태 → 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황 ☑️ 데드락의 발생조건 상호 배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있음. 사용 중인 자원을 다른 프로세스가 사용하려면 요청한 자원이 해제될 때까지 기다려야 함 점유 대기 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 함 비선점 이미 할당된 자원을 강제로 빼앗을 수 없음 순환 대기 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 함 ☑️ 데드락의 해결방법 📌 데드락 예방(Prevention) : 데드락의 발생조건 4가지 중 하나라도 발생하지 않게 하..
📌 다수의 프로세스가 준비 상태에 있을 때, CPU가 어느 프로세스를 먼저 처리하도록 할 것 인가를 결정하기 위한 작업 ☑️ 스케줄링의 단계 장기 스케줄링(Long-term Scheduling) 장기 스케줄링은 고수준 스케줄링, 작업 스케줄링이라고도 함 전체 시스템의 부하를 고려하여 작업을 시작할지 말지를 결정 가장 큰 틀에서 이루어지는 CPU 스케줄링으로 시스템 내의 전체 작업수를 조절 중기 스케줄링(Medium-term Scheduling) 중기 스케줄링은 중간 수준 스케줄링이라고도 불림 중기 스케줄링은 이미 활성화가 된 프로세스들에 대한 관리를 함 → 이미 활성화된 프로세스들의 중지와 활성화로 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막음 운영체제는 처리가 보류된 프로세스들을 처리 재..
📌 프로세스간 통신 → 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그 방법 ☑️ Process는 완전히 독립된 실행객체 → 다른 프로세스의 영향을 받지않는다는 장점 → but, 독립되어있는 만큼 별도의 설비가 없이는 서로간에 통신이 어렵다는 문제 ☑️ 커널 영역에서 IPC라는 내부 프로세스간 통신을 제공함으로써 프로세스간 통신을 할 수 있음 IPC의 종류 ☑️ PIPE(파이프) 두 개의 프로세스를 연결하여 하나의 프로세스는 데이터를 쓰기만 하고, 다른 프로세스는 데이터를 읽기만 함 부모 자식 간에 단방향 통신으로 자주 사용 한쪽 방향으로만 통신이 가능한 PIPE의 특징 때문에 Half-Duplex(반이중)통신이라고도 불림 하나의 통신선로는 읽기/쓰기 중 하나만 가능하므로 만약 읽기/쓰기(송/수신..
문제링크 : https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[][] bingo; static int cnt; static int turn = 1; public static void..
문제링크 : https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net from collections import deque def bfs(): while w: i, j = w.popleft() for k in range(4): ni, nj = i+di[k], j+dj[k] if 0