본문 바로가기

computer science/운영체제13

[운영체제] 프로세스 스케줄러(단기,중기,장기) 이번 시간에는 스케줄러에 대해 공부해 보겠습니다. 스케줄러란 어떤 프로세스에게 자원을 할당할지를 결정하는 운영체제 커널의 모듈을 지칭합니다. 스케줄러에는 장기, 단기, 중기 스케줄러가 있으며 이들에 대해 알아 보겠습니다. 저번 프로세스 상태에서 아래의 그림를 사용했는데 장기, 단기, 중기 스케줄러는 몇몇 부분을 의미합니다. 장기 스케줄러(long term scheduler) : 어떤 프로세스를 준비큐에 넣을 것인가 ? 작업 스케줄러라고도 부르며 어떤 프로세스를 준비비 큐에 삽입할지를 결정하는 역할을 합니다. 디스크에서 하나의 프로그램을 가져와 커널에 등록하면 프로세스가 되는데 이때 디스크에서 어떤 프로그램을 가져와 커널에 등록할지(준비큐에 등록할지) 결정합니다. 장기 스케줄러는 수십 초 내지 수 분 단위.. 2020. 2. 10.
[운영체제] 프로세스 상태 프로세스 상태 앞선 포스팅에서 프로세스에 대해 설명을 드렸습니다. 우리가 카톡을 하면서 유튜브도 보고 또 음악을 들을 수 있는 것은 여러개의 프로세스(카톡, 유뷰브, 음악)이 같이 실행되고 있기 때문인데요(정확히 동시에는 아닙니다 !!). 이렇게 실행되고 있는 프로세스들의 생로병사, lifecycle 을 한번 그림으로 보겠습니다. new : 프로세스 생성중 프로세스를 생성하고 있는 단계로 커널 공간에 PCB가 만들어진 상태 ready : 프로세스가 CPU를 기다리는 상태 프로세스가 메모리에 적재된 상태로 실행하는데 필요한 자원을 모두 얻은 상태 아직 CPU를 받지는 않았지만 CPU를 할당 받으면 바로 실행 가능한 상태 ready상태를 가지는 여러개의 프로세스들이 존재할 수 있음 running : 프로세스.. 2020. 2. 9.
[운영체제] 단편화? 요즘 운영체제 위주로 포스팅을 하고 있습니다. 대부분 운영체제 강의시간에 배웠던 내용인데 그때는 그냥 그렇구나~정도로 생각하고 넘겼는데, 이번에 글을 작성하면서 자료들을 찾아보고 공부하니 보다 더 잘 이해가 되는 것 같습니다. 예전에는 그냥 음식을 먹고 맛있구나 였다면 지금은 짠맛, 단맛을 다 느끼고 안에 어떤 재료들이 있는지 생각하면서 먹는 느낌? 정도의 차이가 있습니다. 단편화 ? 디스크에 존재하는 프로그램은 메모리에 올라오고 CPU를 할당받음으로써 실행됩니다. 여러 프로세스들이 메모리에 올라가고 내려가면서 메모리의 빈공간, 자료가 여러개의 조각으로 나뉘는 현상을 말합니다. 그래서 이런 현상이 많이 발생되게 된다면 메모리에 공간이 많이 남아 있어도 실질적으로 사용할 수 없는 메모리가 발생하게 됩니다... 2019. 3. 3.
[운영체제] 쓰레드란? 쓰레드 너는 누구니 ? 이전시간에 저희는 프로세스에 대해 공부하였습니다.프로세스는 디스크에 존재하는 프로그램이 메모리에 올라가 CPU를 할당받은 실행중인 프로그램을 의미합니다. 여기서 프로세스와 같이 다니는 녀석이 있는데 바로 쓰레드 입니다. 위키피디아에는 쓰레드를 어떤 프로그램 내에서, 특히 프로세스 내에 실행되는 흐름의 단위를 말한다 라고 정의하고 있습니다.쓰레드는 프로세스가 CPU로 부터 할당받은 자원을 이용하는 실행의 단위입니다. 여기서 실행의 단위란 하나의 일을 하는 단위입니다. 또한 쓰레드가 생성되면 Stack영역만 할당받고 Data, Code, Heap영역을 프로세스의 자원과 공유하게 됩니다. ※ 쓰레드와 프로세스는 어떤 차이점을 가지고 있을까요?여러개의 프로세스가 있을때 각각의 프로세스는 .. 2019. 3. 2.