일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- 경주로 건설
- cpython
- Garbage Collecting
- spring boot
- MappingRegistry
- 인덱스 자료구조
- 2022 블라인드 공채
- 토스NEXT
- 카카오 면접 후기
- binary semaphore
- 카카오
- 해시테이블
- Python
- 프로세스
- 운영체제
- HashTable
- Java
- 자료구조
- 컴공 3학년
- 카카오 코딩테스트
- Demand Paging
- HandlerMapping
- 토스코테
- 카카오 블라인드 공채
- 카카오 기술면접
- 토스공채
- spring
- 토스 합격
- 토스면접
- 스케쥴링 알고리즘
- Today
- Total
목록프로세스 (2)
weasel의 우당탕탕 개발기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIi7Tp/btrMkgcpEpD/uKHRm7eK33SCrBhcc5Cl91/img.png)
일단 프로세스 스케쥴링 알고리즘에 대해서 언급하기 전에, 프로세스의 상태와 Context-Switching에 대해서 알아야 한다. 여러가지 프로세스의 상태를 기반으로 전이(Transition)되며 이를 바탕으로 스케쥴링 알고리즘이 이루어진다. 프로세스의 상태 프로세스의 상태는 OS에 따라서 개수도 다르고, 명칭도 조금 다르지만, 가장 대표적인 그림은 위의 상태와 같다. new : 프로세스가 생성된 상태이다. 이때는 Readuy Queue 안에 들어 있지 않기 때문에 CPU를 받을 대상이 아니다. ready : 프로세스가 CPU를 할당받기 위해 대기하는 상태이다. 보통 Ready Queue 안에 들어와있는 상태라고 얘기한다. 스케쥴링의 대상이 된다. running : 현재 CPU를 할당받아 작업중인 상태다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/co8tWD/btrMkdNxpjX/pTcFQedYt4uP3AFlvwhkf0/img.png)
프로세스란, 실행중인 프로그램을 의미한다. 프로그램을 실행하기 위해서는 주소공간,파일,메모리 등이 필요한데 운영체제로부터 이런 것을 할당받은 프로그램을 프로세스라 한다. 프로그램은 어떤 작업을 수행하기 위한 파일로써 정적인 상태이고, 프로세스는 그 작업을 수행하는 동적인 상태다. 프로세스의 메모리 구조 프로세스는 아래 그림과 같은 메모리 구조를 띄고 있다. 프로세스는 각자 본인이 사용하는 메모리 영역과 레지스터 값을 가진다. 프로세스의 메모리 영역은 코드,데이터,힙,스택 영역으로 구성된다. 코드 : 사용자가 작성한 프로그램 함수들의 코드가 기계어 명령 형태로 변경되어 저장되는 공간 데이터 : 전역 변수 또는 static 변수 등 프로그램이 사용하는 데이터를 저장하는 공간 스택 : 함수의 복귀주소와 지역변..