Memory Management in Operating Systems: Processes, Segments, and States, Summaries of Operating Systems

An overview of memory management in operating systems, focusing on the roles of text, data, stack, and heap segments, as well as the states of a process (new, running, ready, waiting, and terminated). It also explains the concept of context switching and the functions of pcb and schedulers (long-term, short-term, and medium-term).

Typology: Summaries

2019/2020

Uploaded on 04/15/2020

andyworkingholiday
andyworkingholiday 🇰🇷

9 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
운영체제
Chapter 3.!
2015104124!
전자공학과!
진우빈!
!
프로세스가 동작할 메모리 영역에서는 어떤 일이 일어날까? 메모리 영역은 4가지 영역으로 나뉘게 된다.!
1. text segment에서는 프로그램의 기계어 코드, 실행 명령어 등이 저장되게 된다.!
2. data segment static data 저장되게 된다. 전역변수, static byte 메모리들이 저장되는 것이다.!
3. Stack 영역에서는 function call 때마다 메모리가 생성된다. 함수 내에서의 변수들이 저장된다.!
4. Heap 영역에서는 new, malloc등의 명령어를 통해 생성되는 동적 할당 변수가 저장된다.!
프로세스의 상태는 크게 5가지로 나뉜다.!
1. New: 프로세스를 새로 만든 상태!
2. Running: CPU에서 현재 수행되는 상태!
3. Ready: CPU에서 수행 준비를 갖췄으나 아직 수행되지 않은 상태 (다른 프로세스가 수행 )!
4. Waiting: 수행 중에 다른 이벤트가 생겨서 대기되는 상태 (ex. cin등을 통해 입력을 대기받는 상태)!
5. Terminated: 프로세스가 종료된 상태 ( 사용한 모든 자원들을 운영체제에 반납하게 된다)!
Ready 상태의 여러 프로세스들 중에서 어떤 프로세스를 수행할 지는 OS 스케쥴러가 결정하게 된다.!
Ready Waiting 차이를 아는 것이 중요하다. IDLE프로세스란 수행되는 프로세스가 아무 것도 없을
의미 없이 수행되는 프로세스를 의미한다. 가령 현재 메모리에 IDLE프로세스, 아래한글 프로그램, mp3 실행
프로그램 3가지가 올려져 있다고 가정해보자 프로세스는 어떻게 운영될까?!
1. 첫번째로 IDLE프로세스가 running 2개중 하나의 application 프로그램이 동작될 IDLE 프로세
스는 ready 상태로 된다.!
2. ready 상태의 프로세스는 IDLE, hwp.exe, mp3.exe 3개가 존재하게 되는데 어느 것을
수행 지는 스케쥴링 알고리즘을 통해 결정이 된다.!
3. 가령 mp3.exe 수행 된다고 가정하면 mp3프로세스가 running상태로 수행이되고 시스템콜을 통해
mp3 파일을 읽어달라고 운영체제에 요청하게 된다.!
4. mp3프로세스의 상태가 waiting으로 바뀌고 ready 상태의 2가지 프로세스 hwp.exe
실행된다.!
5. hwp.exe 실행된 사용자의 입력을 기다리는 waiting 상태가 이루어지게 되면 ready 상태의
IDLE 수행된다. 이렇게 프로세스가 운영되는 것이다.!
PCB Process Control Block으로 프로그램을 실행시키면 해당 프로세스의 모든 정보를 저장하고 관리하
data structure 의미한다. CPU에서는 프로세스와 다른 프로세스를 switch해가며 수행되는 프로세스
수시로 바뀌게 되는데 이를 Context switch라고 한다. 수행되는 상태의 프로세스를 저장하고 다른 프로
세스로 넘어가는 형식이다. overhead 발생하게 되지만 이를 감수하더라도 방법이 프로세스를
율적으로 수행하는 방법이다. Running 상태의 프로세스는 현재 실행중이기 때문에 큐안에 들어가 있지 않다.!
Ready 상태가 되면 레디큐 안으로 프로세스가 들어가게 되고 I/O 인터럽트가 발생하게 되어서 waiting
태가 되면 I/O장치의 따로 담당하는 안으로 프로세스가 들어가게 된다. ex) cin 경우 키보드장치의
queue안으로 들어가게 .!
스케쥴러는 스케쥴링을 하는 주체이다. 크게 Long-term scheduler Short-term scheduler 나뉘는데
전자는 현재 OS에는 존재하지 않는 개념이다. 가령 수행될 job 10개인데 메인 메모리에 5개밖에
올리지 못한다면 10 중에 5 프로세스를 고르는 것을 말한다. 5개중에 어떤 하나를 CPU에서 수행
시킬까 결정은 후자의 스케쥴러가 담당하게 된다. 그렇다면 옛날이 아닌 요즘 OS에서도 메모리가 부족해서
모든 job프로세스를 메모리위에 올리지 못하는 경우가 발생하지 않을까? !
현재 OS에서는 Virtual Memory 관리를 통해 모든 프로세스를 메모리 위에 올릴 있다. 따라서 롱텀스
케쥴러가 필요없는 것이다. 고사양 게임이 하드웨어가 받춰주지 않지만 돌아가긴 돌아가는데 원활히 돌아가
않는 이유가 바로 가상메모리관리 시스템 덕분이다. 이에 대해서는 추후에 배우게 된다.!
pf2

Partial preview of the text

Download Memory Management in Operating Systems: Processes, Segments, and States and more Summaries Operating Systems in PDF only on Docsity!

Chapter 3. 2015104124 ? 4.

  1. text segment ,.
  2. data segment static data. , static byte.
  3. Stack function call..
  4. Heap new, malloc.
  5. New:
  6. Running: CPU
  7. Ready: CPU ( )
  8. Waiting: (ex. cin )
  9. Terminated: ( ) Ready OS. Ready Waiting. IDLE . IDLE , , mp 3?
  10. IDLE running 2 application IDLE ready.
  11. ready IDLE, hwp.exe, mp3.exe 3 .
  12. mp3.exe mp3 running mp.
  13. mp3 waiting ready 2 hwp.exe .
  14. hwp.exe waiting ready IDLE.. PCB Process Control Block data structure. CPU switch Context switch. . overhead . Running. Ready I/O waiting I/O. ex) cin queue. . Long-term scheduler Short-term scheduler OS. job 10 5 10 5. 5 CPU . OS job? OS Virtual Memory. . ..

Chapter 3. Medium-term scheduler long short. 10 5 5 3 2

. long-term OS. , , 3 . UNIX fork. fork fork. fork ,

  1. Parent Process, Child Process. ( , .) fork return value fork return value 0. fork . exec. exit exit(0) exit( ), abort.
  2. Message Passing: A B.
  3. Shared Memory: A, B access shared. Message Passing A, B . A , B overhead . Shared Memory. Shared Memory Circular Queue. Shared Memory. Message Passing Direct Indirect. Direct . Indirect .. .