목록혼자 공부하는 컴퓨터구조+운영체제 (15)
ultra_dev
cpu 스케줄링 운영체제가 프로세스들에게 공정하고 합리적으로 cpu 자원을 배분하는 것 프로세스 우선 순위 프로세스마다 우선순위가 다르기 때문에 차례대로 돌아가며 하는 건 비효율적이다. ex) 입출력 작업이 많은 프로세스(=입출력 집중 프로세스)의 우선순위는 Cpu 작업이 많은 프로세스(=cpu 집중 프로세스)의 우선순위보다 높다. → 입출력 집중 프로세스는 실행 상태보다는 대기 상태에 더 많이 머무르게 될테니까 빨리 처리해버리고 cpu 집중 프로세스한테 몰빵하는게 효율적이기 때문 스케줄링 큐 : 자원을 이용하고 싶어하는 프로세스들이 서는 줄 큐라고 하지만 스케줄링에서의 큐는 반드시 선입선출 방식일 필요는 없다. cpu쓰고 싶어하는 프로세스들은 관련 스케줄링 큐에 넣어서 줄 세우고 하드디스크 쓰고 싶어하..
프로세스와 스레드 “실행중인 프로그램”, 프로세스 프로세스의 종류 포그운드 프로세스(foreground process) : 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운드 프로세스(background process): 사용자와 직접 상호작용이 가능한 백그라운드 프로세스와 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스가 있다. → 데몬, 서비스라고 부름 : 사용자가 볼 수 없는 공간에서 실행되는 프로세스 모든 프로세스는 실행을 위해 cpu가 필요하다 → but, cpu 자원은 한정되어 있음!! 프로세스들은 돌아가며 한정된 시간 만큼만 cpu를 이용한다. 자신의 차례에 정해진 시간만큼 cpu 이용 타이머 인터럽트가 발생하면 차례 발생 프로세스 제어 블록(PCB) 빠르게 번갈아가며 ..
운영체제 시작 모든 프로그램은 실행을 위해 자원을 필요로 한다. 자원 / 시스템 자원 프로그램 실행에 있어 마땅히 필요한 요소 이 마땅히 필요한 요소에는 컴퓨터의 네가지 핵심 부품 포함 자원은 하드웨어만을 자원이라고 하지 않고, 네트워크 패킷이라든지 파일이라든지 이런 것들도 자원에 속한다고 볼 수 있음 운영체제는 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이다. 따라서 운영체제도 메모리에 적재됨!! (커널 영역) 운영체제는 특별한 프로그램이라 커널영역이라는 공간에 따로 저장 그외 나머지 프로그램은 사용자 영역에 저장 운영체제는 커널 영역에 적재되는 프로그램이다!! 예를 들어 워드프로세서를 실행하면 이게 메모리의 2000번지 같은 곳에 저장이 되는데 워드 프..
입출력장치 입출력 장치는 종류가 많아서 장치마다 속도, 데이터 전송 형식 등도 다양하다. → 다양한 입출력장치와 정보를 주고 받는 방식을 규격화 하기 어렵다 일반적으로 cpu와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다. 같은 1초여도 cpu는 많은 데이터 전송 가능하지만 입출력은 더 적은 데이터 전송 가능 전송률 : 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 장치 컨트롤러 이런 이유 때문에 등장한 게 바로 장치 컨트롤러임 입출력 제어기 혹은 입출력 모듈이라고도 부름 입출력장치는 장치컨트롤러를 통해 컴퓨터 내부와 정보를 주고 받는다. 장치 컨트롤러의 역할 cpu와 입출력장치 간의 통신 중개(규격화 안된 다양한 입출력장치들을 번역해주는 느낌) 오류 검출 (장치 컨트롤러와..