일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Express
- git
- Chunk
- Spring Batch
- mysql 5.5
- REACT
- Regular expression
- expire_logs_days
- java
- Effective Java 3/e
- log4j2
- Node
- npm
- MySQL
- upgrade
- current_date
- log_bin
- Effective Java
- JavaScript
- spring cloud
- 퀵소트
- migration
- update
- nodejs
- REACTJS
- eslint
- spring
- 정규표현식
- regex
- Webpack
- Today
- Total
목록Knowledge (8)
내 세상
https://namu.wiki/w/Deadlock Deadlock, 교착상태 - 다중 쓰레드 프로그래밍의 주요 난점 중 하나 - Example) - 시스템 파일이나 다른 프로그램이 공유하는 파일을 건드리기 쉬운 프로그램 설치 과정 - "프로그램을 설치할 때는 가능하면 다른 프로그램은 모두 꺼주세요"라는 말이 나오는 이유. - 차량/항공기 전장 운영체제의 경우, deadlock 발생 시 시스템이 뻗을 경우 대형참사 - 휴대폰 정지 → 인터넷을 통한 복구 → 휴대폰 인증 요구 발생 조건 1. Mutual Exclusion - 자원 자체를 동시에 쓸 수 없는 경우 2. Hold and Wait - 자원을 붙잡은 상태에서 다른 자원을 기다리고 있는 경우 3. No Preemption - 다른 프로세스가 자원을..
Semaphore (세마포어) - Mutex의 상위 호환 - 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것 - 운영체제의 리소스를 경쟁적으로 사용하는 다중 프로세스에서 행동을 조정하거나 또는 동기화 시키는 기술 - 운영체제 또는 커널의 한 지정된 저장장치 내 값으로 각 프로세스는 이를 확인하고 변경할 수 있음. - 소유 불가. Semaphore를 소유하지 않는 쓰레드가 Semaphore를 해제할 수 있음 - 시스템 범위에 걸쳐있고, 파일시스템상의 파일 형태로 존재함. Mutex (Mutual Exclusion, 뮤텍스, 상호배제) - Binary Semaphore - 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것 - Critical Section을 가진 쓰레드들의 Runni..
Image Retrieval - 이미지 검색 Person Re-Identification과 같은 유사 여부를 판단하기 위해선 'Similarity' 또는 'Distance'를 계산해야 한다. similarity/distance를 구하는 방법은 다양하지만, 그 중 Euclidean Distance와 Cosine Distance 등이 있다. 이러한 함수를 Metric이라 표현한다. Metric - 집합 내 한 쌍의 원소의 거리를 측정하는 함수 - metric f(x, y)는 항상 아래의 4가지 조건에 만족해야 한다. 1. Non-negativity : f(x, y) >= 0 2. Identity of Discernible : f(x, y) = 0 x = y 3. Symmetry : f(x, y) = f(y,..
Process Scheduling CPU를 사용하려고 하는 Process들 사이의 우선 순위를 관리하는 일 처리율/CPU 이용율 증가, 오버헤드/응답시간/반환시간/대기시간 최소화 장기 스케줄링 - 어떤 process를 커널에 등록할 것인가를 정함 중기 스케줄링 - 어떤 process에게 메모리를 할당할 것인가를 정함 단기 스케줄링 - 어떤 process에게 CPU를 할당할 것인가를 정함. Process state에 변화가 있을 때 작동함. Preemptive / Non-preemptive Preemptive, 선점형 Scheduler가 절대적인 권한으로 사용중인 CPU를 뺏을 수 있음. 빠른 응답시간을 요하는 대화식 시스템에 적합함. SRT(Shortest Reamining Time), RR(Round ..
Interrupt 실행중인 process가 예기치 못한 상황이 발생되어 더 이상 실행하기 어렵거나 먼저 처리해야할 우선순위가 높은 일이 생긴 경우 Interrupt가 발생하면 실행중이던 process가 CPU의 사용을 멈추고 Interrupt 처리가 된 후에 다시 CPU 점유 Interrupt Process Routine(인터럽트 처리 루틴, IPR) Interrupt 발생 원인을 찾아 ISR 호출 Interrupt 발생 시점부터 Interrupt 처리가 종료되는 시점까지를 말함 Interrupt Service Routine(인터럽트 서비스 루틴, ISR) Interrupt에 대한 실제 처리를 담당 Interrupt 처리를 시작하는 시점부터 Interrupt 처리가 종료되는 시점까지를 말함. Proces..
Process? - 보조기억장치에 있던 프로그램이 주기억장치에 적재되어 실행 중일때, 이를 '프로세스'라고 한다. 프로세스 상태 Create - Process가 생성되는 단계 주기억장치 적재 여부 및 자원 확보 여부 Ready Process 생성 후 주기억 장치에 적재되고, 실행하는데 필요한 자원을 모두 얻은 상태 Asleep 주기억장치에 적재되었지만, 필요한 자원을 얻지 못한 상태 Suspended Ready 주기억장치에 적재되지 않았지만, 필요한 자원을 얻은 상태 Suspended Blocked 주기억장치에 적재되지 않았고, 필요한 자원도 얻지 못한 상태 Running - Process가 CPU를 점유하여 실행중인 상태 Terminated - Process가 종료된는 상태 상태 전이 Dispatch ..
Graph는 기본적인 형태이다. 방향의 여부, 가중치의 여부, 연결의 여부, 순환의 여부 등에 따라서 이름이 변경되고 결정된다. 예를 들어, Minimum Spanning Tree의 의미를 하나씩 분석해보자. Tree? 순환(Cycle)이 없어야 함. 1개의 Root Node를 갖는다. Spanning Tree? 순환(Cycle)이 없어야 함. 1개의 Root Node를 갖는다. Spanning : (다리를) 놓다, ~의 양 끝을 연결하다 '모든 정점(노드)를 잇는다'로 해석할 수 있음. Minimum Spanning Tree? 순환(Cycle)이 없어야 함. 1개의 Root Node를 갖는다. Spanning : (다리를) 놓다, ~의 양 끝을 연결하다 '모든 정점(노드)를 잇는다'로 해석할 수 있음...
1. Stack Last Input First Out, LIFO, 후입선출 가장 나중에 저장된(push) data가 가장 먼저 인출(pop)되는 구조 용도 DFS(Depth First Search, 깊이우선탐색) 함수 호출의 순서 제어 Interrupt 처리 수식 계산 2. Queue First Input First Out, FIFO, 선입선출 가장 먼저 저장된(push) data가 가장 먼저 인출(pop)되는 구조 용도 BFS(Breadth First Search, 너비우선탐색) 운영체제 작업 스케줄링 대기행렬 처리