연습문제 1. 소스코드를 한 번에 번역하지 않고 한 행씩 번역하여 실행하는 방식을 무엇이라 하는가? 인터프리터 방식 2. 프로그래머가 C나 자바로 소스코드를 작성하여 컴파일하면 일차적으로 만들어지는 코드는 무엇인가? 목적 코드 3. 컴파일할 때 코드에 라이브러리를 연결하지 않고 코드를 실행할 때 라이브러리를 가져와 실행하는 방식을 무엇이라 하는가? 동적 라이브러리 4. 메모리 관리 정책 중 메모리가 꽉 찼을 때 메모리에 있는 어떤 프로세스를 내보낼지 결정하는 것은 무엇인가? 재배치 5. 32bit CPU를 사용하는 컴퓨터가 가질 수 있는 물리 메모리의 최대 크기는 얼마인가? 4GB 6. 절대 주소는 실제 물리 주소로, 메모리 관리자 입장에서 바라본 주소이다. 절대 주소와 관계없이 사용자 입장에서 항상 0..
메모리 관리 운영체제를 포함한 여러 프로그램이 메모리 위에 올라와 실행된다. 따라서 메모리 관리가 복잡한데 이처럼 복잡한 메모리 관리는 메모리 관리 시스템(MMS)이 담당한다. 메모리 관리가 이루어지다 보면 프로세스 입장에서 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌할 때가 발생한다. 이를 메모리 관리의 이중성이라 한다. 메모리 관리자 역할 메모리 관리는 메모리 관리자가 담당한다. 가져오기 배치 재배치 메모리 주소 메모리에 접근할 때는 주소를 이용한다. 절대 주소 - 실제 물리 주소 - 메모리 관리자 입장에서 바라본 주소 - 메모리 주소 레지스터가 사용하는 주소 상대 주소 - 운영체제가 관리하는 주소 - 사용자 프로세스 입장에서 바라본 주소 - 절대 주소와 상관없이 항상 0번지부터 시작 상대 ..
연습문제 1. 2개 이상의 프로세스가 서로 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태를 무엇이라 하는가? 교착상태 2. 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 나타내는 방향성이 있는 그래프를 무엇이라 하는가? 자원 할당 그래프 3. 네 가지 교착 상태 필요조건에 대해 설명하시오. ① 상호 배제 : 배타적인 자원이어야 한다. ② 비선점 : 비선점 자원이어야 한다. ③ 점유와 대기 : 자원을 할당 상태에서 다른 자원을 기다리는 상태여야 한다. ④ 원형 대기 : 점유와 대기를 하는 프로세스 간 관계가 원을 이루어야 한다. 4. 교착 상태 해결 방법 중, 교착 상태를 유발하는 네 가지 조건을 무력화하는 방법은 무엇인가? 교착 상태 예방 5. 교착 상태 해결 방법 중..
교착 상태 해결 방법 교착 상태를 해결하는 방법은 예방, 회피, 검출, 회복 방법이 있다. 해결 방법 특징 교착 상태 예방 교착 상태를 유발하는 네 가지 조건을 무력화 한다. 교착 상태 회피 교착 상태가 발생하지 않는 수준으로 자원을 할당한다. 교착 상태 검출 자원 할당 그래프를 사용하여 교착 상태를 발견한다. 교착 상태 회복 교착 상태를 검출한 후 해결한다. 교착 상태 예방 상호 배제 예방 비선점 예방 점유와 대기 예방 원형 대기 예방 📗 상호 배제 예방 시스템 내에 있는 상호 배타적인 모든 자원, 즉 독립적으로 사용할 수 있는 자원을 없애버리는 방법이다. 시스템 내의 모든 자원을 공유할 수 있다면 교착 상태가 발생하지 않는다. 📗 비선점 예방 모든 자원을 빼앗을 수 있도록 만드는 방법이다. 하지만 어..
교착 상태 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가 사용된 시간을 측정하는 방법 처리량 : 단위 시간당 작업을 마친 프로세스의 수 대기 시간 : 작업을 요청한 프로세스가 작업을 시작하기 전까지 대기하는 시간 응답 시간 : 프로세스 시작 후 첫 번째 출력 또는 반응이 나올 때까지 ..
- Total
- Today
- Yesterday
- 연습문제
- 답
- 그리디
- 파이썬
- JS
- 알고리즘
- OS
- py
- BFS
- 풀이
- 정렬
- 자바
- 정리
- C++
- 정답
- 백준
- 해답
- 쉽게배우는
- 문자열
- 운영체제
- 우종정
- 쉽게 배우는 자바 프로그래밍
- 자바스크립트
- 쉽게배우는자바프로그래밍
- CPP
- java
- Web
- 구현
- Python
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |