분류 전체보기 (68) 썸네일형 리스트형 [운영체제] CPU Scheduling 현재 CPU 자원을 수행 중인 process 중 누구에게 줄 것인가를 결정하는 것 process 상태를 변화시키는 process scheduling 과는 구별됨 short-term scheduler에 해당됨 CPU scheduler의 중요한 원칙 CPU를 ㅃㄹㅃㄹ 줘서 사용자가 직접적으로 interactive하다고 느끼게 만들어 줄 필요가 있음 => I/O bound job에 먼저 CPU를 줘야 되겠다 CPU Scheduler Multiprogramming 환경에서 동작 ready 상태의 프로세스에서 하나를 골라 CPU 할당해줌 언제 발생하는가? 어떤 프로세스가 cpu를 잡아서 돌다가 waiting 상태로 갔을 때 (I/O request) running 상태에서 ready 상태로 갈 때 (멀티 프로그래밍.. [운영체제] Process and Threads Process: 실행 중인 프로그램 실체: 프로그램이 실행되는 데 필요한 모든 것들을 저장하는 자료구조 분기나 JUMP가 없으면 기본적을 sequential로 실행 포함하는 것 1. text section: 프로그램 코드 2. stack section: function call과 관련된 데이터들 (parameter, return address, local variables ...) -> top에서 pop하면 함수에 들어갔다 나오는 정보들을 바로 알 수 있음 3. data section: static, global variable 저장 4. heap section: 동적 메모리 할당으로 저장한 데이터 관리하는 영역 , malloc 5. 동작, 컨트롤, 상태 에 필요한 program counter, regi.. [운영체제] Operating System Overview Multiprogramming - OS는 CPU가 불필요한 대기를 하지 않게 하기 위해서 기본적으로 멀티프로그래밍을 해야 함 - 멀티프로그래밍을 함으로써 멀티태스킹까지 가능해짐 - 하나의 애플리케이션만으로는 인터럽트 대기 등의 이유로 CPU가 바쁠 수 없음 -> 효율성을 위해 멀티프로그래밍 필요 - 여러 개의 프로그램이 모두 메모리에 올라가야 하기 때문에 가상 메모리 필요 - CPU 스케줄링 = job 스케줄링 = 프로세스 스케줄링 ㄴ 어떤 프로그램을 지금 CPU가 실행할 지 결정해야 함 - I/O 등으로 인해 CPU가 다른 일을 해야 하면 switch 하는 기능 필요 Multitasking = Timesharing - 굳이 I/O가 발생하지 않더라도 프로그램 switch 할 수도 있음 spooling).. [운영체제] Computer System Overview 기본 요소 - Processor(CPU), Main Memory, System bus, I/O modules Processor (CPU): ALU(Arithmetic Logic Unit), CU(Control Unit), Register로 구성 - ALU: 연산 담당 - CU: 컨트롤 - Register: 매우 작지만 CPU 안에 있어서 접근 속도 빠름, 연산을 위한 저장 공간 1. data I/O registers: CPU와 메모리 간 데이터를 주고 받기 위함 Memory address register (MAR); 메인 메모리에 대한 주소 Memory buffer register(MBR); 메인 메모리에 대한 버퍼 => MAR에 적힌 주소에 MBR에 적힌 데이터를 LOAD(read)/STORE(writ.. 이전 1 ··· 6 7 8 9 다음