
프로세스 동기화 & 상호배제 다중 프로그래밍 시스템은 여러 개의 프로세스들이 존재한다. 이 프로세스들은 서로 독립적으로 동시에 동작하는데 공유 자원 또는 데이터가 있을 때 문제가 발생할 수 있다. 즉, 같은 공간에 작업을 하면 문제가 발생!! 동기화(Process Synchronization) 프로세스들이 서로 동작을 맞추는 것이다. 프로세스들이 서로 정보를 공유하는 것이다. 비동기화 프로세스들이 서로에 대해 모른다. 그렇다면 왜 동기화가 필요한가? 병행 수행중인 비동기적 프로세스들이 공유자원에 동시에 접근할 때 문제가 발생 할 수 있다. 프로세스가 공유 자원에 접근할 때, 경쟁 조건이 발생하면 공유 자원을 신뢰할 수 없게 만들 수 있다. 이를 방지하기 위해 프로세스들이 공유 자원을 사용할 때 특별한 규..

Basic Scheduling algorithms index FCFS(First-Come-First-Service) RR(Round-Robin) SPN(Shortest-Process-Next) SRTN(Shortest-Remaining Time Next) HRRN(High-Response-Ratio-Next) MLQ(Multi-Level Queue) MFQ(Multi-Level Feedack Queue) FCFS (First-Come-First-Service) key points : 비선점, 선착순 스케줄링 기준 도착 시간(ready queue 기준) 먼저 도착한 프로세스를 먼저 처리한다. 자원을 효율적으로 사용이 가능하다. (High resource utilization!! ) why?? -> 들어오는..

Process Scheduling 스케줄링 여러개의 프로세스가 시스템 내 존재하는데, 이러한 프로세스가 생성되어 실행될 때 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업을 하는 것을 말한다. 다시 말하면 CPU를 사용하려고 하는 프로세스들의 우선순위를 관리하는 일을 한다. 스케줄링 목적 스케줄링의 목적은 당연하게 들리겠지만 시스템의 성능 향상이다. 그렇다면 여기서 말하는 성능은 무엇인가 의문이 들 수 있다. 어떤 작업을 하고 목적이 무엇인지에 따라 성능의 기준은 달라진다. 따라서 목적에 맞는 지표를 고려하여 스케줄링 기법을 선택해야한다. 다음은 대표적인 시스템 성능 지표이다. 응답시간(response time) 작업 요청으로부터 응답을 받을 때 까지의 시간이다. ex) interactive,..
다리를 지나는 트럭 문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 ..
JAVA : Comparator / Comparable List를 정렬할 때 기본형 데이터 타입은 정렬의 기준이 있기 때문에 Collections.sort(list)하면 정렬이 된다. 하지만 List안에 있는 데이터 타입이 기본형 데이터 타입이 아닐 경우(클래스 등) 정렬의 기준이 없기 때문에 컴파일 오류가 난다. 따라서 객체의 정렬 기준을 정의해야 한다. Comparable 객체를 정렬하는 기준을 정의하는 방법 중 하나로 Comparable 인터페이스가 있다. 객체 간의 일반적인 정렬이 필요할 때, 자바에서 기본적으로 제공하는 Comparable 인터페이스를 확장해서 정렬의 기준을 정의하는 compareTo() 메서드를 구현한다. class Student implements Comparable { ....
K번째 수 문제 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 입력 첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, N2)보다 작거나 같은 자연수이다. 출력 B[k]를 출력한다. 예제 입력 3 7예제 출력 6풀이 역시나 이진탐색을 하는 방법이 어려운 것이 아니라 어떻게 적용해서 푸는지가 정말 어려운 것 같다.. 처음에 행렬을 반으로 쪼개고 개수를 세고.. 많이 생각했지만 뭔가 접근 방법이 틀렸을 것 같다는 생각이 들어 결..
- Total
- Today
- Yesterday
- 프로세스 스케줄링
- Android
- 자료구조
- 백트래킹
- 백 트래킹
- Process Scheduling
- binarySearch
- hashtable
- java
- 우선순위큐
- DFS
- MFQ
- git
- 3-way-handshake
- 농협정보시스템IT
- SRTN
- loss function
- MLQ
- Objective function
- SWExpert
- algorithm
- 사회망서비스
- N-Queen
- 네트워크
- 프로그래머스
- 알고리즘
- hash
- 기능개발
- programmers
- 4-way-handshake
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |