운영체제란?
운영체제는 하드웨어와 소프트웨어 중간에서 중개자 역할이라고 보면편하다
또한, 운영체제의 역할 중 하나는 process를 관리 하는 것이다
여기서 !!
*process란?
*실행중인 프로그램을 말한다 , 또한 process는 task를 위해서 resource가 필요하다
* 메모리상의 프로세스는 다음의 그림과같다
스택 영역 : 함수호출, 지역변수 ..
힙 영역 : 동적 메모리 할당
데이터 영역 : global변수, 여기서 초기화된 데이터와 초기화되지않은 데이터로 구분
텍스트 영역 : executable code
프로세스의 상태도는 다음과 같다
- 여기서 준비완료가 되면 readyqueue에 들어간다
- 실행을 하다가 I/O나 EVENT처리가 들어오면 대기 상태로 빠진다.
상태를 몇가지 정의하겠습니다.
- new : 프로세스 생성 중
- running : 명령어들이 실행
- waiting : 프로세스가 대기
- ready : 프로세스가 할당되기를 기다린다
- terminated : 프로세스가 종료
프로세스 제어블록 (PCB)
각 프로세스들은 OS에 의해서 PCB로 관리, 표현된다
PCB는 특정 프로세스와 연관된 정보를 가지고 있다
연관된 정보들을 나열하겠습니다
- 프로세스 상태 (new, wait, running, ..)
- 프로그램 카운터(PC) 다음에 실행할 명령어의 주소를 가리킨다
- CPU레지스터들
- CPU 스케쥴링 정보 ( 프로세스들의 우선순위를 가지고있다)
- 멀티프로그래밍의 목적은 CPU 최대화이다.
- 프로세스 스케쥴링
Mutiprogramming ?다중프로그래밍
- 한 타임에 하나 이상의 프로그램이 동작하는 것
- 몇개의 프로세스가 동시에 메모리에 올라가는 것
- 이렇게 하면 cpu 사용률이 올라간다
'운영체제' 카테고리의 다른 글
os란 (0) | 2021.10.18 |
---|---|
address binding (0) | 2021.10.05 |
동시성 vs 병렬성 (0) | 2021.10.02 |
데드락 (0) | 2021.10.02 |
동기와 비동기의 차이 (0) | 2021.07.28 |