반응형

프로세스 3

[운영체제] 프로세스

프로세스 이번에는 정보처리기사 필기 과목인 운영체제의 프로세스를 알아보아요. 프로세스 "동작 중인 프로그램" 프로시저의 활동 운영체제가 관리하는 실행 단위 비동기적 행위를 일으키는 주체 PCB의 존재로서 명시되는 것 프로세스 상태 프로세스 상태 IDLE: 프로그램을 수행하지 않는 상태(프로세스가 아님) READY: 대기 상태, 스케쥴러에 의해 자신의 순서를 대기하고 있는 상태 스케쥴러에 의해 자신의 순서가 오면 Disptch하여 RUN 상태로 전이 RUN: 실행 상태 CPU를 사용 중인 상태, CPU 사용이 끝나면 READY 상태로 전이 비정상적인 작업으로 SUSPENDED 상태로 전이 모든 작업이 끝나면 IDLE 상태로 전이 입출력 요청이 오면 BLOCK 상태로 전이 BLOCK: 요청한 입출력 수행 완..

54. 프로세스 메모리 구조

이번에는 간단하게 프로그램 개발자들이 알아야하는 프로세스(실행 중인 프로그램) 메모리 구조를 알아볼게요. 프로세스의 주요 메모리는 크게 Text, Data, BSS, Stack, Heap으로 구분할 수 있어요. 프로그램의 코드는 Text 영역에 잡히고 전역 변수는 Data 영역에 잡히죠. 이 두 개의 영역의 메모리 크기는 컴파일 시점에 결정해서 프로세스 동작 중에는 크기가 변하지 않아요. 그런데 함수 호출에 의한 지역 변수나 호출 처리에 필요한 메모리는 런 타임(프로세스 동작 시)에 잡히죠. 피 호출 함수가 끝나면 호출한 함수로 복귀하고 자신의 메모리를 해제하기 위해 Stack에 잡혀요. 이 외에 앞으로 배울 동적 메모리 할당 함수 호출하면 Heap 메모리에 잡히죠. Text 메모리에는 프로그램에서 수행..

53. 프로그램 생명 주기

이 부분은 프로그램 개발자들에게 공통적으로 필요한 기반 지식이예요. 직접적으로 프로그래밍 작성 능력과 관련있는 내용은 아니예요. 하지만 전산 엔지니어로써 기본적으로 알면 여러 분야에서 도움이 되는 내용이예요. 이 책에서는 깊은 내용까지 들어가지 않고 간단히 소개하기로 할게요. 프로그램 생명 주기 실행 상태의 프로그램을 프로세스라 불러요. 따라서 프로그램 생명 주기보다는 프로세스 생명 주기라는 말이 더 적당할거예요. 편의상 프로그램 생명 주기라 할게요. 프로그램은 수행해야 할 코드를 메모리에 로딩(loading)하는 것에서 출발하죠. 로딩은 하드 디스크나 CD 등의 저장 장치에 있는 데이터를 프로그램의 메모리에 옮기는 작업을 말해요. 또한 프로그램전체 영역에서 사용할 수 있는 전역 변수를 위한 메모리를 할..

반응형