일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 코딩테스트
- 프로그래머스
- N과M
- 다익스트라
- dict
- level1
- 운영체제
- DP
- BFS
- level2
- 스택
- 그리디
- BOJ
- 파이썬
- 가상메모리 관리
- dfs
- MYSQL
- 재귀
- level3
- 다이나믹 프로그래밍
- 힙
- python
- 딕셔너리
- 구현
- 가상메모리
- 브루트포스
- level0
- programmers
- 백준
- 수학
- Today
- Total
목록전체 글 (397)
동캄의 코딩도장
HW solution - HW의 도움으로 기존의 SW solution보다 더욱 간단한 방법으로 구현가능 - Test and Set 함수를 이용하여 프로세스 처리를 한번에 처리 - n개의 process를 처리할 때는 waiting queue를 이용하여 처리 장점: 구현이 간단 단점: busy waiting
동기화 (Synchronization) - 프로세스들이 서로 동작을 맞추는 것 - 프로세스들이 서로 정보를 공유하는 것 임계영역(Critical section) - 공유 데이터를 접근하는 코드 영역 상호배제(Mutual exclusion) - 둘 이상의 프로세스가 동시에 critical section에 진입하는 것을 막는 것 동기화 구현 조건 상호배제 (Mutual exclusion) - Critical section (CS)에 프로세스가 있으면, 다른 프로세스의 진입을 금지 진행 (Progress) - CS 안에 있는 프로세스 외에는, 다른 프로세스가 CS에 진입하는 것을 방해 하면 안됨. 한정대기 (Bounded waiting) - 프로세스의 CS진입은 유한시간 내에 허용되어야 함 Mutual Exc..
FCFS(First Come First Service) - 먼저 도착한 프로세스를 먼저 처리 (선입선출) - batch 시스템에 적합 장점: 자원을 효율적으로 사용 가능 단점: convoy effect (긴 프로세스를 위해 다른 프로세스 또한 긴 시간을 대기), 긴 평균 응답시간 RR(Round-Robin) - 자원 사용 제한 시간 존재 - 프로세스는 할당된 시간이 지나면 자원 반납 - Context switch overhead가 큼 - 대화형, 시분할 시스템에 적합 - 제한시간(time quantum)에 따라 성능 변화 SPN(Shortest-Process-Next) - 실행시간 기준 - Burst time 가장 작은 프로세스를 먼저 처리 -장점 평균 대기시간 최소화, 시스템 내 프로세스 수 최소화--..
프로세스 스케줄링 목적 - 여러개의 프로세스가 시스템 내 존재--> 자원을 할당 할 프로세스를 선택 - 스케줄링을 통해 시스템의 성능 향상 스케줄링 기준 - 프로세스의 특성 - 시스템 특성 - 프로세스의 긴급성 - 프로세스 우선순위 - 프로세스 총 실행 시간 스케줄링의 단계 - long-term scheduling ex) job scheduling - mid-term scheduling ex) memory scheduling - short-term scheduling ex) process scheduling 스케줄링 정책 Non-preemptive scheduling 할당 받을 자원을 스스로 반납할 때까지 사용 장점: context switch overhead가 적음 단점: 잦은 우선순위 역전, 평균 응..
create table --> 새로운 attribute를 생성 create view --> 기존의 table을 이용하여 새로운 table 생성 view를 사용하는 이유 - 사용자에게 데이터를 숨길 수 있다. - 쿼리를 더 간단하게 생성할 수 있다. - 데이터베이스 접근을 제어할 수 있다. view특성 - view는 I/U/D가 적용되지 않는다. 따라서 view가 참조한 table을 수정해야한다. - 만약 view의 primary key값이 참조한 table의 primary key 값과 같다면, view를 I/U/D 할 수 있다. - 여러개의 Join으로 이루어진 view는 insert는 가능하지만, delete는 불가능하다. materialized views - 기존의 view는 논리적으로만 존재 -->..
스레드(Thread)란? 프로세스는 자원을 할당받고 자원을 제어한다. 프로세스에서 제어부분만을 분리한것이 스레드(Thread)이다. Thread는 Ligth Weight Process라고 불린다. 하나의 프로세스에 여러개의 스레드 존재가능 (할당받은 자원을 여러개의 스레드가 공유하여 제어{사용}) 즉, 같은 프로세스의 스레드는 동일한 주소 공간을 공유한다. 스레드 구성요소 Thread Id register set stack 전통적 프로세스= 단일 스레드 프로세스 스레드 장점 - 사용자 응답성--> 일부가 지연되어도, 다른 스레드는 작업가능 - 자원 공유--> 효율성 증가 (context switching을 하지 않아도 됨) - 경제성 - 멀티 프로세서 활용--> 성능 향상 멀티스레드 사용 ex) 게임, ..