본문 바로가기

운영체제 정리6

[운영체제 정리] 7.멀티레벨 큐 멀티레벨 큐 레디큐를 여러개로 분한다. cpu를 기다리는 여러 큐가 존재한다 위로 갈수록 우선순위가 높다. 준비 큐를 여러개로 분할해 관리하는 스케줄링 기법을 말한다. 즉, 프로세스들이 cpu를 기다리기 위해 한줄로 서는 것이 아니라 여러줄로 서는 것을 말한다. 멀티레벨큐는 일반적으로 성격이 다른 프로세스들을 별도로 관리하고 프로세스의 성격에 맞는 스케줄링을 적용하기 위해 별도의 큐를 두게 된다. 여러개의큐 포그라운드 큐: 사용자와 소통 중심 백그라운드 큐: 배치 프로그램 큐 자체에 대한 스케쥴링 - 고정 우선순위 방식 고정적인 우선순위를 부여해 우선 순위가 높은 큐를 먼저 서비스 하고 우선순위가 낮은 큐는 우선순위가 높은 큐가 비었을때 서비스하게 된다.즉, 전위 큐와 후위큐를 사용하는 방식에서는 전위 .. 2020. 6. 7.
[운영체제 정리] 6.CPU 스케쥴링 개요 프로그램의 실행 1.프로그램이 실행될때, CPU와 I/O가 반복 사용된다. CPU를 사용하는 단계를 CPU 버스트, I/O를 사용하는 단계를 I/O 버스트라고 한다. CPU BURST TIME 분포 프로그램 실행시 CPU 바운드 잡, I/O 바운드 잡이 섞여있다. (그래프를 보면 CPU 잡과 I/O 바운드 잡이 섞여 있음) I/O 바운드잡은 사람과의 인터렉티브한 커뮤니케이션을 하기 때문에 CPU잡이 너무 많이 CPU를 갖고 있으면 I/O 바운드가 CPU를 잡지못하므로 사용자가 답답해 할 수 있다. 그래서 CPU 스케쥴이 필요하다. 프로세스의 특성 분류 프로세스는 특성에 따라 두가지로 나눔 I/O 바운드 프로세스: 키보드를 많이 칠때... CPU 바운드 프로세스: 계산을 많이 할때... CPU 스케쥴.. 2020. 6. 2.
[운영체제 정리] 5.프로세스 관리 프로세스는 어떻게 만들어지나? 누가 프로세스를 만드나? - 부모 프로세스가 자식 프로세스를 생성한다.(트리형태) - 프로세스는 운영체제로 부터 자원을 받고, 부모와 자원을 공유하거나 아닌 모델도 존재한다. 프로세스 생성 1.부모의 주소공간을 자식 프로세스가 복사를 한다. 복사할 때 프로세스의 문맥을 복사한다는 뜻이다. 또 cpu에서 인스트럭션을 어디까지 수행했는지를 나타내는 pcb, 레지스터등 자원도 다 복제한다. 그 후 2.그 공간에 새로운 프로그램을 덮어씌운다. (위의 그림 참고) (리눅스에서는 부모와 자식의 내용이 같으면 부모프로세스의 주소공간을 공유하고 자식은 프로그램 카운터만 카피해서 똑같은 위치를 가리키고 있을 수도 있다. 만약 내용이 서로 다르면 그제서야 부모의 주소공간을 카피해서 자식이 갖.. 2020. 6. 1.
[운영체제 정리] 4.스레드 왜 스레드가 필요한가? 동일한 일을 여러개 하는 프로세스가 있다면 프로세스마다 독립적인 주소 공간이 만들어져서 메모리가 낭비된다. 스레드의 개념 1 스레드의 개념 2 스레드의 주소공간 스레드: 프로세스는 하나만 띄워 놓고, 프로그램의 어떤 부분을 실행할건지, 프로그램 카운터만 여러개 둔다.cpu를 실행하는 단위. 스레드는 주소공간(코드,데이터)을 공유한다. 스택에 ,pc, 레지스터 만 스레드 간에 독립적으로 가지고 있다. 스레드의 구성 스레드 장점 - 다중 스레드로 구성된 테스크 구조에서는 하나의 서버 스레드가 블락(웨이팅) 상태인 동안에도 동일한 테스크 내의 다른 스레드가 실행 (러닝)되어 빠른 처리를 할 수 있다.(빠른응답성) - 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리률과 성능 향상을.. 2020. 5. 30.
[운영체제 정리] 2.컴퓨터 시스템 구조 컴퓨터 시스템의 구조 컴퓨터는 크게 cpu와 메모리와 i/o디바이스로 구성되어 있다. 메모리는 cpu의 작업공간이다. 운영체제는 처리할 프로그램을 메모리에 올려놓고 한줄씩 cpu로 읽어들여서 작업을 처리한다. cpu에 대해서 cpu는 매 순간 메모리에 위치한 기계어를 읽어서 실행한다. cpu에는 다음에 읽을 메모리의 위치를 가리키고 있는 프로그램 카운터(레지스터)가 있다. cpu 는 아주 빠른 일꾼이다. 혼자서 무엇을 할 수 없다. 프로그램 카운터가 지시하는 메모리 주소로 가서 일을 한다. 만약 인터럽트가 들어왔다면, 하던 작업을 잠시 멈추고, cpu 제어권을 운영체제에게 자동으로 넘어간다. 운영체제는 인터럽트 백터별(인터럽트 번호와 주소를 가지고 있다.)로 인터럽트 루틴을 처리 한다. 레지스터: cpu.. 2020. 5. 28.
[운영체제 정리] 1.운영체제 개론 •운영체제의 목표 또는 역할은? 1.운영체제는 사용자가 하드웨어 자원을 효율적이고 편리하게 관리할 수 있게 돕는다. 2.운영체제는 하드웨어 위에 설치되는 소프트웨어다. 3.예로 메모리는 용량이 한정적이기 때문에 모든 프로그램에게 메모리를 전부 할당할 수 없다. 그래서 운영체제가 메모리를 효율적으로 관리될수 있도록 한다. 4.운영체제는 정부에 비유할 수 있다. 보유하고 있는 예산을 어느 부처, 어느 곳에 사용을 할것인가 고민하고 관리한다. 5.주어진 자원을 이용해서 최대의 효율을 낸다.(효율성) 6.자원을 형평성 있게 분배한다(형평성) 7.사용자에게 편리하게 컴퓨터들을 사용할수 있게 한다. 자원: cpu, 메모리 , 마우스 등 하드웨어. •좁은의미의 운영체제는? 1.메모리 위에 올라와있는 소프트웨어(커널).. 2020. 5. 28.