※ 메모리란? : 메인 메모리, RAM을 뜻한다. 프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간. 즉, 작업을 위해 사용되는 공간. 메모리 관리가 필요한 이유는? : 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다. 단지, 운영체제 만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 운영체제에서 메모리를 관리한다. 또한, 멀티프로그래밍 환경으로 변화하면서 한정된 메모리를 효율적으로 사용해야 했고, 운영체제가 이를 어떻게 관리하는지에 대한 관리방법이 중요해졌다! 운영체제의 역할 실행파일이 로더에 의해 메모리에 올라오고 운영체제는 이 실행파일을 메모리에 어느 부분에..
앞에서 공부하면서 단기 스케줄러 즉, cpu 스케줄러가 ready Queue에 있는 프로세스들 중 어떤 프로세스에게 CPU를 할당할지를 정한다고 하였다. 여기서는 그 프로세스를 선택하는 여러 가지 스케줄링 방법들을 공부해보자! 스케줄링 (Scheduling) : CPU스케줄러가 이 스케줄링 알고리즘을 통해 Ready Queue에 있는 프로세스들을 관리한다. *burst time-cpu 수행 시간 , waiting time-대기시간, turnaround time-수행 시간+대기시간 스케줄링의 목적 No starvation : 각각의 프로세스들이 오랜 시간 동안 CPU를 할당받지 못하는 상황이 없도록 한다. Fairness : 각각의 프로세스에 공평하게 CPU를 할당해준다. Balance : Keeping ..
프로세스의 상태를 변화시키는 스케줄러를 공부하다 보니 프로세스 상태까지 다시 보게 되었다. 한번 본다고 끝이 아니라 보다 보면 헷갈리는 게 계속 나오는듯하다! 스케줄러(Scheduler)란? :어떤 프로세스에게 자원을 할당할지를 결정하는 운영체제 커널의 모듈을 지칭한다. 스케줄러에 따라 프로세스 상태가 바뀌게 된다. ↓$프로세스 상태 살펴보기! 더보기 new : 프로세스 생성중 프로세스를 생성하고 있는 단계로 커널 공간에 PCB가 만들어진 상태 ready : 프로세스가 CPU를 기다리는 상태 프로세스가 메모리에 적재된 상태로 실행하는데 필요한 자원을 모두 얻은 상태 아직 CPU를 받지는 않았지만 CPU를 할당 받으면 바로 실행 가능한 상태 ready상태를 가지는 여러개의 프로세스들이 존재할 수 있음 ru..
시스템의 수행능력을 향상해준다는 멀티스레딩, 의미와 장단점. 그리고 멀티 프로세스와의 차이점도 공부해보자! 멀티 스레딩(Multi Threading)이란? : 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유하고 자원의 생산과 관리의 중복성을 최소화하여 수행 능력을 향상하는 것. 여러 개의 스레드를 통해 하나의 프로그램에서 동시에 여러 개의 일을 수행할 수 있도록 해주는 것. 멀티 스레드를 사용하는 이유는? : 프로세스를 이용하여 동시에 처리하던 일을 스레드로 구현할 경우 메모리 공간과 시스템 자원 소모가 줄어들게 되기 때문이다. 이 때문에 다양한 장점들이 존재한다. 멀티 스레딩의 장점 스레드 간 통신 시에 별도의 자원을 사용하는 것이 아닌 공유된 공간인 전역 변수, heap메모리 영역을 통해 ..
공부한 거 까먹지 않게 정리하면서 다시 보기! 가장 기본이 되는 프로세스와 스레드의 정의와 차이점을 정리해보고자 한다. 또한 관련 내용 중 헷갈리거나 잊어버리지 말아야 하는 것들도 같이 정리해 보자. 프로세스(Process)란? : 실행 중인 프로그램을 의미하며, 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것을 말한다. 프로세스 제어 블록(Process Control Block, PCB)란? : 프로세스의 정보를 담고 있는데 , 이 PCB는 운영체제가 프로세스 생성과 동시에 고유한 PCB를 생성하여 관리하는 데 사용한다. 다른 프로세스로 CPU를 넘겨줄 때(문맥 교환) 지금까지 수행하던 내역을 이 PCB에 저장하게 된다. 그러므로 다시 CPU를 할당받게 되었을 때 PCB에 저장된 내역을..
- Total
- Today
- Yesterday
- 운영체제
- 삼성 sw역량테스트
- 완전탐색
- programers
- sockjs
- java
- Stomp
- Baekjoon
- Spring
- 삼성 sw역량 테스트
- websocket
- 최소 스패닝 트리
- SWEA
- 백준
- 채팅
- 프로그래머스
- 정렬
- 알고리즘
- 자바
- BFS
- JavaScript
- MST
- 분리 집합
- DP
- Oracle
- Heap
- dfs
- git
- 코딩테스트
- OS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |