커널 3

Kern Koh Kernel of Linux Interrupt 정리

Hardware Issues 기본적으로 CPU는 instruction fetch, decode, execute, write back 네가지 상태? 로 처리함 PC 증가시키면서 처리 보통 명령 4바이트라서 PC+4로 표현했음 interrupt request bit이 set 되면 register save 하고 PC에 interrupt handler를 집어넣음 즉 지금하던거 중단하고 interrupt 먼저 처리해주는것 IO devices가 많을때 Interrupt Controller를 사용하면 교통정리를 해줄 수 있음 시도때도 없이 막 interrupt request를 보내면 CPU가 효율적인 동작을 해줄 수 없음 프로그래밍 가능한 인터럽트 컨트롤러 대충 IMR에서 걸러진 IRQ들이 우선순위대로 잘 맞춰져서 ..

OS, Kernel 2022.08.06

Kern Koh Kernel of Linux Scheduling 정리

Linux에서는 기본적으로 우선순위가 제일 높은애가 돌아감 근데 timeslice가 남아있는지도 고려함 timeslice 남았을때 preempted task가됨 ready 상태일때 나중에 remaining timeslice를 쓸 수 있음 20ms를 쓰다가 CPU가 다른 더 중요한 task한테 뺏기면 나중에 그 중요한 task가 끝나고 다시 80ms의 remaining timeslice를 쓸 수 있음 그래서 linux에서 CPU를 차지하려면 우선순위도 높아야되고 remaining timeslice가 0이 아니여야됨 timeslice다 쓰면 다른 tasks가 timeslice 다 쓸때까지 기다리고 우선순위에 기반해서 스케쥴링됨 Scheduling Algorithm Ready Queue라는 하나의 리스트에 P..

OS, Kernel 2022.07.20

Kern Koh Kernel of Linux Introduction 정리

What is an Operating System? 유저랑 컴퓨터 하드웨어 사이에서 중개자? 역할을 해주는 프로그램이다. Operating System의 목표: - user program 실행 - 문제를 쉽게 해결하기 위해서 - 컴퓨터 시스템을 잘 사용하기 위해서 - 하드웨어를 효율적으로 사용하기 위해서 Performance - Throughput : 처리량 --- jobs / sec - Utilization : CPU를 바쁘게 유지하는 것 --- % of time busy - Response time : 첫번째 Response 나오는데 걸린 시간 --- sec / job Kernel - Memory 상주 - 대부분은 C로 작성됨 - 나머지는 HW dependent, speed 등의 이유로 어셈블리 사용..

OS, Kernel 2022.07.18