목차 개요 상위의 포스팅에서는 스케줄링 큐를 통하여 여러 종류의 스케줄러들이 프로세스의 생성 할당 종료 등을 관할하는지에 대해서 알아보았다. 프로세스 :: 스케줄링 큐와 스와핑 목차 개요 스케줄링 큐, CPU와의 큐잉다이어그램에 대한 자세한 이해를 돕기 위한 글이다. 상위글은 여기서 ⬇⬇⬇⬇ 2022.08.14 - [OS :: 운영체제] - 프로세스 :: 다중 프로그래밍과 스케줄링 스케줄 nstgic3.tistory.com 따라서 이번 시간에는 운영체제가 프로세스를 어떻게 생성하는지 프로세스간의 관계 등을 알아보자. 프로세스 생성 Process Creation 프로세스는 또 다른 프로세스를 생성할 수 있는데 생성하는 프로세스를 부모 프로세스라고 하고 생성된 프로세스를 자식 프로세스 라고 한다. 결과적으로..
CS/Operating System
목차 개요 위의 그림에 보면 scheduling이 Long Medium Short 각 term 별로 3가지로 나뉘어있는 것을 확인해볼 수 있다. 각 scheduling은 scheduler에 의하여 분류되는데 각각의 기능들을 알아보자 Long Term Scheduler 디스크와 메모리 사이의 할당,해지 등의 스케줄링을 담당함 Ready queue 로 보낼 상황에 적합한 프로세스를 선정하여 메모리를 할당하여 줌 job scheduler 이라고도 불리우는데 전체적으로는 시스템의 작업에 적합한 프로그램을 할당하는 기능을 한다. 이는 큐 내에 있는 프로세스를 선택하고 CPU 스케줄링을 위한 메모리를 할당하여 준다. 또한 I/O 바운드 프로세스와 CPU 바운드 프로세스간의 적절한 균형을 맞추어 다중프로그래밍 정도를..
목차 개요 프로세스의 이전 포스팅에서는 CPU의 스케줄링에 대해서 알아보았다. 이는 CPU에 적재되는 프로세스가 어떤 방식으로 어떤 큐에 저장되는지를 알아보았고 이번 포스팅에서는 Ready queue를 통해 CPU로 넘어온 프로세스가 기존의 프로세스를 어떻게 종료하고 새 프로세스를 어떻게 실행하는지에 대한 과정에 대해서 알아보자 프로세스 첫 포스팅부터 확인해보기⬇⬇⬇ 2022.08.05 - [OS :: 운영체제] - 프로세스 :: 메모리 배치 및 프로세스 제어 블록(PCB) - 추천 2022.08.14 - [OS :: 운영체제] - 프로세스 :: 다중 프로그래밍과 스케줄링 2022.08.16 - [OS :: 운영체제] - 프로세스 :: 스케줄링 큐와 스와핑 문맥 교환 (context switch) 먼저 ..
목차 개요 스케줄링 큐, CPU와의 큐잉다이어그램에 대한 자세한 이해를 돕기 위한 글이다. 상위글은 여기서 ⬇⬇⬇⬇ 2022.08.14 - [OS :: 운영체제] - 프로세스 :: 다중 프로그래밍과 스케줄링 스케줄링 큐 Ready queue는 상위 포스팅에서 기술했다 싶이 준비 상태의 프로세스들이 모여있는 큐이다. 나머지 큐를 보게 되면 각각 Ready : R, Suspend : S, Blocked B 세가지가 존재하게 되는데 표를 자세히 들여다 보면 B큐만 Event wait 상태를 받고 있고 RS, BS 큐는 B 큐에서 보내준 큐를 차례대로 받아서 다시 CPU에 들어가는 메인 R 큐에 이동 시켜주는 것을 확인 할 수 있다. Suspend (잠시 중지되었다가 트리거로 인하여 준비 상태로 돌아가는 상태)..
목차 개요 CPU 내에는 여러개의 코어와 스레드로 이루어져있는데 일반적으로 1개의 코어에 1개의 프로세스만 동시에 처리가 가능하다. 하지만 CPU의 처리 속도는 이용자가 자원을 이용하는 속도보다 느린 속도이다. 예로 키보드를 아무리 빨리 입력해도 CPU입장에서는 기다리기에 느리다. 따라서 CPU가 더 효율적으로 사용될 수 있도록 여러개의 작업을 번갈아가면서 실행하는 방식을 도입하게 되고 이러한 여러가지 작업중에서 우선순위를 정해서 실행할 작업을 결정하는 과정을 CPU스케줄링이라고 부르고 그 중 CPU의 작업과 입출력 작업을 병행하는 방식을 다중 프로그래밍이라고 부른다. 그리고 CPU 스케줄링과 다중프로그래밍을 이용해 사용자들에게 컴퓨터 자원을 시간적으로 분할 해주는 시스템을 시분할 시스템, 이러한 시스템..
목차 프로세스의 개념 초창기의 컴퓨터는 연산 등을 처리하는 작업을 하는 기기에 불과하였다. 이후에 계속 발전이 되면서 다중 태스킹을 지원하게 되면서 여러 프로그램 등을 한번에 실행할 수 있게된다. 따라서 초기의 작업에 국한하지 않고 메모리 관리 등과 같은 자체 적인 내부 활동을 지원하기도 해야한다. 이렇게 CPU가 하는 대부분의 모든 활동을 프로세스 라고 부른다. 과거에는 프로세스라는 용어 대신에 작업 이라는 용어를 더 많이 사용했다는 사실을 할고 있으면 추후의 개념들의 이해가 쉬워질 것이다. 메모리 배치 여러 섹션으로 나누어져 있고 텍스트 및 데이터 섹션의 크기는 고정 되기 때문에 실행되는 도중 크기가 바뀌지 않는다. 그러나 스택이나 힙 섹션은 프로그램 실행 중에 동적으로 줄어들거나 커질 수 있다. 함..