신문(매일 경제)

  • 열 나야만 코로나 확진?…오미크론 대표 증상은 '이것'

    오미크론의 대표 증상은 발열보다 목이 따끔한 인후통.
    최근 신규 확진자의 증가 추세가 너무 가파르다. 밖에서 활동을 해야 하니 어쩔 수 없긴 하지만 너무 가파르다. 마스크를 좀 더 잘 쓰고 조심해야겠다.
    오미크론은 경미하다곤 하지만 코로나긴 하니까 더더욱 조심하자.

  • '1년만 최저치로 줄어든 신용잔고' 증시 저점 다가오나

    통상 미수금 대비 반대매매 비중은 5% 전후를 기록했는데 지난달 26일 반대매매비중은 11.7%에 달했다. 반대매매로 인해 반등이 나온 경우가 많다 보니 최근 잡은 것의 경우 좀 있으면 팔아야 할 날이 올 거 같다. 근데 꼭 신용잔고라 해서 반대매매를 뜻하진 않을 텐데 이번 하락이 크긴 했나 보다.

  • "압류 재산 '4조원대'" 돈세탁하다 붙잡힌 30대부부…미국 '발칵'

    지난 2016년 가상화폐 거래소 비트피넥스에서 해킹으로 도난 당한 비트코인이였다. 비트코인의 경우도 블록체인 네트워크를 유지해주는 보상인데 사실 아직도 이게 왜 저리 비싼지는 모르겠다. 당연히 기념품이 될 수 있고 수집의 가치가 있기야 하겠지만 말이다. 암튼 블록체인 네트워크의 경우 중앙 서버가 없어 매우 견고하다.
    그래서 더더욱 보안이 철저하다. 그러면 역으로 모든 네트워크를 이루고 있는 사람이라면 이 정보를 알 수 있다는 의미가 아닐까?

  • 미중 고래 싸움 효과 끝?…삼바, 장중 80만원 깨져

    중국 경쟁사의 수출통제로 인한 반사이익을 예상했는데 생각보다 작다고 전망이 나왔다.
    요즘에는 뉴스를 안보고 거래를 해서 그런지 별 감흥이 없긴 하다.
    근데 종토방은 진짜 재밌는 거 같다. 예능을 안 봐도 되지 않나 싶다.
    암튼 뭐 아직도 우크라이나 - 러시아로 인해 이에 대한 미국, 중국의 힘경쟁이 있다.
    이를 계속 염두에 두고 지내야 겠다.

  • 짜깁기한 사진 830억, 트윗 한줄 35억…스케일 상상초월 NFT 뭐길래

    NFT는 필요한 것이라고 생각한다. 과거 음악, 그림에 대한 저작권 싸움이 붙을 때 이게 누구 껄까.. 했던 것과 비슷하다고 생각한다.
    이 칼럼을 읽으면서 든 생각은 비슷한 그림 여러개가 다 NFT로 존재한다면 이거의 원본이 있는 것일지 아니면 그냥 다 다르다고 보는 것이 맞는지,
    NFT를 인정해주는 기관이 생길지, 카드 수집을 하는 것도 특정 기관에서 해당 카드에 점수를 매기고 이에따라 가격이 천차 만별이라 알고 있다.
    마치 그런 시장이 되지 않을까??



디스코드 봇

백그라운드 태스크가 가능하게 함



CPU scheduling

운영체제

추가 용어

"something" burst : "something"를 사용하는 시간
"Something" bound : "something"을 많이 사용하는 부분

scheduling

멀티 프로그램의 근간이 되는 것
레디 큐에 위치한 프로세스를 CPU에 할당한다.

방식으로는
FIFO 큐
Priority 큐
가 존재

Preemptive : 스케줄러에 의해 프로세스가 비워질 수 있는 방식, 강제로 제거 될 수 있음
Non - Preemptive : 프로세스가 wait, terminate 되기 전까지 계속 실행, 강제로 제거 X

기준
CPU의 활용 : CPU가 쉬지 않게 해야 함.
처리량 : 시간 단위 동안 수행한 프로세스의 수가 많도록
Turnaround time : 프로세스를 수행하는 데에 걸린 총 시간
Waiting time : 프로세스가 레디 큐에서 대기한 시간

Solutions for scheduling problem

프로세스를 어떻게 할당할지에 대한 방식

FCFS (First - Come, First - Served)

FIFO 큐를 구현한 방식이라고 보면 된다.
=> 최적화 되지 않은 방식, CPU burst 시간에 따라 결과가 달라짐
non - preemptive 방식.

Conboy Effect

FCFS와 같은 방식에서 하나의 CPU - bound, 여러 IO - bound가 있을 때 CPU를 먼저 처리하는 경우 비교적 시간이 적게 걸리는 IO를 실행하기 위한 대기 시간이 매우 길어진다.
이러한 현상을 나타내는 단어이다.

SJF

Shortest-Job-First: next - CPU - burst 시간이 가장 짧은 순서로 스케줄링
만약 CPU burst 시간이 동일하면 "FCFS" 방식으로 해결
=> 최적의 방식, 그러나 next CPU burst시간을 알 수 있는 방법이 없음
그래서 과거를 통해 예측하는 방식 사용
preemptive 또는 non - preemptive 방식 사용

𝝉𝒏+𝟏 = 𝜶T𝒏 + (𝟏 − 𝜶)𝝉𝒏
𝝉𝒏 : 예측 결과 𝑛th CPU burst, 𝝉𝒏 + 1 : 예측된 next CPU burst
T𝒏 : 실제 nth CPU burst

SRTF

Shortest-Remaining-Time-First: Preemptive SJF scheduling
실행 되고 있는 프로세스의 burst 시간과 레디 큐의 burst 시간을 비교해서 교체하는 방식

RR

Round-Robin: preemptive FCFS with a time quantum(시간 단위).
레디 큐를 circular queue처럼 사용.
발생 가능한 문제
1. 프로세스의 CPU burst가 1 time quantum보다 작을 수 있음.
2. 프로세스의 CPU burst가 1 time quantum보다 클 수 있음.
=> 일반적으로 대기 시간이 길다. preemptive 방식

time quantum의 크기
너무 작을 경우 : dispatch latency보다 작아질 경우 아무런 명령어도 수행 불가능
너무 클 경우 : FCFS임

Priority - base 스케줄링

높은 우선순위에 따라 CPU에 할당함.
만약 우선순위가 동일한 경우에는 FCFS 방식으로 수행
preemptive 또는 non - preemptive 방식

Starvation

대기시간이 너무 길어지는 경우를 뜻함.
Aging을 통해 해결. 프로세스의 우선순위를 높이는 방식.

MLQ

우선순위에 따른 레디 큐를 분리해서 스케줄링

MLFQ

Starvation을 해결하기 위해 Aging을 사용하듯이 여기서는 Feedback을 추가
해당 큐가 종료되면 우선순위 낮은 쪽으로 이동하는데 time quantum의 크기를 늘리는 방식으로 해결

Dispatcher

context switch(문맥 교체)의 주체. CPU 코어가 스케줄러에 의해 할당된 프로세스의 제어권을 가짐. 문맥 교체에는 시간이 드는데 이를 dispatcher latency(지연 시간)이 존재한다.

Thread 스케줄링

기본적으로 위의 모든 내용을 kernel thread에 적용하면 됨.
user thread의 경우에는 상관 X [JVM과 같은 프로그램으로 멀티 쓰레딩 프로그램을 만들려 한다면 이 멀티 쓰레드들은 user - thread이다. OS가 아닌 JVM이 관리하기 떄문인데, 실제로 multi - thread의 이점을 살리기 위해서는 해당 multi - thread 만큼의 커널 쓰레드를 생성한 후에 맵핑을 해야 한]

0개의 댓글