
메모리 관리 운영체제를 포함한 여러 프로그램이 메모리 위에 올라와 실행된다. 따라서 메모리 관리가 복잡한데 이처럼 복잡한 메모리 관리는 메모리 관리 시스템(MMS)이 담당한다. 메모리 관리가 이루어지다 보면 프로세스 입장에서 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌할 때가 발생한다. 이를 메모리 관리의 이중성이라 한다. 메모리 관리자 역할 메모리 관리는 메모리 관리자가 담당한다. 가져오기 배치 재배치 메모리 주소 메모리에 접근할 때는 주소를 이용한다. 절대 주소 - 실제 물리 주소 - 메모리 관리자 입장에서 바라본 주소 - 메모리 주소 레지스터가 사용하는 주소 상대 주소 - 운영체제가 관리하는 주소 - 사용자 프로세스 입장에서 바라본 주소 - 절대 주소와 상관없이 항상 0번지부터 시작 상대 ..

교착 상태 해결 방법 교착 상태를 해결하는 방법은 예방, 회피, 검출, 회복 방법이 있다. 해결 방법 특징 교착 상태 예방 교착 상태를 유발하는 네 가지 조건을 무력화 한다. 교착 상태 회피 교착 상태가 발생하지 않는 수준으로 자원을 할당한다. 교착 상태 검출 자원 할당 그래프를 사용하여 교착 상태를 발견한다. 교착 상태 회복 교착 상태를 검출한 후 해결한다. 교착 상태 예방 상호 배제 예방 비선점 예방 점유와 대기 예방 원형 대기 예방 📗 상호 배제 예방 시스템 내에 있는 상호 배타적인 모든 자원, 즉 독립적으로 사용할 수 있는 자원을 없애버리는 방법이다. 시스템 내의 모든 자원을 공유할 수 있다면 교착 상태가 발생하지 않는다. 📗 비선점 예방 모든 자원을 빼앗을 수 있도록 만드는 방법이다. 하지만 어..

교착 상태 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 교착 상태의 발생 시스템 자원 동시에 같이 사용할 수 없는 시스템 자원을 할당받은 후 양보 안 할 시 발생 ex) 스캐너, 프린터 공유 변수 한 변수를 할당받은 상태에서 다른 변수 대기 시 발생 응용 프로그램 데이터베이스 같은 응용 프로그램에서도 발생 자원 할당 그래프 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 방향성이 있는 그래프로 표현 *사용하는 이유 : 어떤 프로세스에 어떤 자원이 할당되어 있는지 혹은 어떤 프로세스가 자원을 기다리고 있는지 한눈에 파악 가능하다. *다중 자원 : 여러 프로세스가 하나의 자원을 동시에 사용 *식사하는 철학자 문제 철학자들은 서로 포크..

연습문제 1. 프로세스 간 통신에서 데이터를 양방향으로 전송 가능하지만 동시 전송은 불가능하고 특정 시점에 한쪽 방향으로만 전송할 수 있는 통신 방식은 무엇인가? 반양방향 통신 2. 상태 변화를 살펴보기 위해 반복문을 무한 실행하며 기다리는 것을 무엇이라 하는가? 바쁜 대기 3. 프로세스 간 통신에서 대기가 없는 통신과 대기가 있는 통신의 예를 각각 제시하시오. 대기가 없는 통신 대기가 있는 통신 전역변수, 파일 소켓, 파이프 4. 파이프를 이용하여 통신할 때 파이프를 2개 사용하는 이유는 무엇인가? 파이프는 단방향이다. 2개를 사용하면 양방향 통신이 가능하다. 5. 공유 자원을 병행적으로 읽거나 쓰는 상황을 무엇이라 하는가? 경쟁 조건 6. 공유 자원의 접근 순서에 따라 실행 결과가 달라지는 프로그램의..

임계구역 해결 방법 임계구역 문제를 해결하는 단순한 방법은 잠금을 이용하는 것이다. 잠금을 이용하여 프로세스의 대기를 결정해 프로세스의 통신을 조절할 수 있다. 임계구역 해결 조건을 고려한 코드 설계 피터슨 알고리즘 데커 알고리즘 세마포어 모니터 1. 임계구역 해결 조건을 고려한 코드 설계 1-(1) 상호 배제 문제 *상호 배제 : 임계구역 안에는 하나의 프로세스만 있어야 한다. - 잠금을 건다. - 잠금이 걸렸을 경우 무한 대기 - 잠금이 풀리면 임계구역에 진입 후 작업 - 동시 진입 문제 잠금이 걸리기 전에 강티 진입할 경우 상호 배제 조건 보장 X 1-(2) 한정 대기 문제 - 상호 배제 문제의 보완 - 잠금을 2개 건다 - 무한 루프 문제가 발생할 수 있다 (교착 상태) *교착 상태 : 프로세스가..

프로세스 간 통신 독립적인 프로세스끼리 작업을 하다 서로 데이터를 주고받아야 할 때 통신을 사용한다. 프로세스들 간 의사소통을 IPC라 하고 같은 컴퓨터 내 프로세스뿐만 아니라 네트워크 간 통신도 포함된다. 종류 프로세스 내부 데이터 통신 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우의 통신 ☞ 내부 스레드는 전역 변수나 파일을 이용하여 통신한다 프로세스 간 데이터 통신 같은 컴퓨터에 있는 여러 프로세스끼리 통신 ☞운영체제가 제공하는 파이프를 사용하여 통신한다 네트워크를 이용한 데이터 통신 여러 컴퓨터가 네트워크로 연결되어 있을 때의 통신 ☞소켓을 사용하여 통신한다 프로세스 간 통신의 분류 통신 방향 양방향 통신 : 데이터를 동시에 양방향으로 전송할 수 있는 구조 반양방향 통신 : 양방향으로 ..

연습문제 1. 시스템 내 전체 프로세스의 수를 조절하는 것으로, 장기 스케줄링 또는 작업 스케줄링이라 불리는 스케줄링 수준은 무엇인가? 고수준 스케줄링 2. 어떤 프로세스에 CPU를 할당하고 어떤 프로세스를 대기 상태로 보낼지 등을 결정하는 스케줄링 수준은 무엇인가? 저수준 스케줄링 3. 어떤 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPU를 강제로 빼앗을 수 있는 스케줄링은 무엇인가? 선점형 스케줄링 4. 현재 입출력을 진행하는 프로세스로, 사용자와 상호작용이 가능하여 상호작용 프로세스라고도 불리는 것은 무엇인가? 전면 프로세스 5. 준비 큐에 도착한 순서대로 CPU를 할당하는 비선점형 스케줄링 알고리즘은 무엇인가? FCFS 스케줄링 6. 준비 큐에 있는 프로세스 중 실행시간이 가장 짧은..

다중 큐 프로세스를 효율적으로 관리하기 위해 여러 개의 큐를 만든다. 준비 상태의 다중 큐 매번 프로세스 제어 목록을 검색하면 효율성이 떨어져 우선순위에 따라 다중 큐를 운영한다. 대기 상태의 다중 큐 시스템의 효율을 높이기 위해 대기 상태에서는 같은 입출력을 요구한 프로세스를 모은다. 스케줄링 알고리즘 스케줄링 알고리즘은 선점형 알고리즘과 비선점형 알고리즘으로 나뉜다. *스케줄링 알고리즘 종류 스케줄링 알고리즘의 선택 기준 CPU 사용률 : 전체 시스템의 동작 시간 중 CPU가 사용된 시간을 측정하는 방법 처리량 : 단위 시간당 작업을 마친 프로세스의 수 대기 시간 : 작업을 요청한 프로세스가 작업을 시작하기 전까지 대기하는 시간 응답 시간 : 프로세스 시작 후 첫 번째 출력 또는 반응이 나올 때까지 ..

연습문제 1. 프로그램이 프로세스가 되려면 운영체제로부터 무엇을 받아야 하는가? 프로세스 제어 블록(PCB) 2. 프로세스의 상태 중 CPU를 할당받기 위해 기다리는 상태는 무엇인가? 준비 상태 3. 프로세스의 상태 중 입출력 작업을 하기 위해 이동하는 상태는 무엇인가? 대기 상태 4. CPU 스케줄러가 준비 상태에 있는 프로세스 중 하나를 골라 CPU를 할당하는 작업을 무엇이라고 하는가? 디스패치 5. 유닉스에서 Ctrl + Z 키를 눌러 프로세스가 중단되면 프로세스는 어떤 상태로 바뀌는가? 휴식 상태 6. 실행 상태에서 하나의 프로세스가 나가고 새로운 프로세스가 들어오는 상황을 무엇이라고 하는가? 문맥 교환 7. 실행 중인 프로세스로부터 새로운 프로세스를 복사하는 시스템 호출은 무엇인가? fork()..

프로세스의 연산 프로세스의 구조 · 코드 영역 프로그램의 본문이 기술된 곳으로 텍스트 영역이라고도 한다. · 데이터 영역 코드가 실행되면서 사용하는 변수나 파일 등의 각종 데이터를 모아놓은 곳이다. · 스택 영역 운영체제가 프로세스를 실행하기 위해 부수적으로 필요한 데이터를 모아놓은 곳이다. 프로세스의 생성과 복사 ▶ fork() 개념 : 실행 중인 프로세스를 그대로 복사하는 함수 장점 프로세스의 생성 속도가 빠르다. 추가 작업 없이 자원을 상속할 수 있다. 시스템 관리를 효율적으로 할 수 있다. 동작 과정 프로세스 구분자가 바뀐다. 부모 자식이라도 자기 자신을 칭하는 고유한 번호가 존재한다. 부모 자식이 차지하고 있는 메모리 위치가 다르므로 메모리 관련 정보도 바뀐다. 프로세스의 전환 ▶ exec() ..
- Total
- Today
- Yesterday
- java
- 답
- 쉽게 배우는 자바 프로그래밍
- OS
- 정리
- 구현
- py
- 문자열
- 쉽게배우는
- 풀이
- 운영체제
- 자바
- 자바스크립트
- 알고리즘
- 우종정
- 연습문제
- C++
- 정답
- 프로그래머스
- Web
- 백준
- Python
- JS
- BFS
- 정렬
- 해답
- 그리디
- 파이썬
- 쉽게배우는자바프로그래밍
- CPP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |