
총 67개
-
운영체제의 실제 메모리 구성 및 관리 방식2025.01.241. 물리적 메모리 관리 운영체제는 한정된 물리적 메모리를 효율적으로 관리하기 위해 고정 분할 방식과 가변 분할 방식을 사용한다. 고정 분할 방식은 메모리를 고정된 크기로 나누어 할당하지만 비효율적일 수 있으며, 가변 분할 방식은 메모리를 동적으로 할당하여 낭비를 줄일 수 있지만 외부 단편화 문제가 발생할 수 있다. 운영체제는 압축 기법을 통해 단편화 문제를 해결한다. 2. 가상 메모리 운영체제는 가상 메모리 기법을 사용하여 물리적 메모리의 한계를 극복한다. 가상 메모리를 통해 프로그램이 필요한 만큼의 메모리를 제공할 수 있으며, ...2025.01.24
-
메모리 단편화(Memory Fragmentation)의 개념과 해결 방안2025.01.161. 메모리 단편화의 개념 메모리 단편화는 사용가능한 메모리가 충분하지만 메모리 공간이 조각으로 분할되어 프로그램이 필요한 만큼의 메모리 공간을 할당 받지 못하는 상태를 말합니다. 메모리 단편화의 원인으로는 메모리 할당 정책이나 알고리즘이 메모리를 비효율적으로 사용하게 되는 경우, 메모리 할당 및 해제 과정에서 메모리 블록들이 불연속적으로 배치되는 경우, 메모리를 할당하고 해제하는 순서나 크기가 문제가 되는 경우, 프로그램 실행 중에 메모리 사용량이 바뀌는 경우 등 다양한 원인들이 있습니다. 2. 내부 단편화와 외부 단편화의 개념 ...2025.01.16
-
운영체제 프로세스 스케줄링 레포트2025.05.021. 스케줄링의 이해 스케줄링은 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것으로, 프로세서를 할당받을 프로세스를 결정하므로 시스템의 성능에 영향을 미친다. 스케줄링의 목적은 자원 할당의 공정성 보장, 단위시간당 처리량 최대화, 적절한 반환시간 보장, 예측 가능성 보장, 오버헤드 최소화 등이다. 2. 스케줄링의 기준 요소 스케줄링의 기준 요소는 프로세서 버스트와 입출력 버스트이다. 프로세서 버스트는 프로세서에서 실행할 때이고, 입출력 버스트는 프로세스가 추가로 실행하려고 입출력을 기다리고 ...2025.05.02
-
운영체제 스케줄링 레포트 과제제출 시험대비2025.05.021. 프로세스 상태 변화와 스케줄러의 역할 프로세스 상태 변화와 스케줄러의 역할을 도식화하고 기술하였습니다. 작업 스케줄링, 작업 승인과 프로세서 결정 스케줄링, 프로세서 할당 스케줄링 등 스케줄러의 역할을 설명하였습니다. 2. 장기 스케줄러, 중기 스케줄러, 단기 스케줄러 장기 스케줄러는 프로세스 생성 과정에서 프로세스의 준비 상태에 무엇을 추가할지 결정하며, 메모리 사용 가능 공간과 자원을 확인합니다. 중기 스케줄러는 스왑 기능의 일부로 메모리에 부분적으로 프로세스를 적재하고, 일시중지된 프로세서의 원인을 해결합니다. 단기 스케...2025.05.02
-
배열의 정의, 선언, 초기화 및 활용2025.05.051. 배열의 정의 배열은 C언어에서 연속적인 메모리 영역에 동일한 데이터 타입의 여러 요소를 저장할 수 있는 구조입니다. 배열을 사용하면 데이터를 더욱 구조화된 방식으로 저장하고 접근할 수 있습니다. 2. 1차원 배열 선언 1차원 배열을 선언하려면 데이터 타입, 배열 이름, 배열 크기를 지정해야 합니다. 예를 들어, int arr[5]는 크기가 5인 int형 1차원 배열을 선언하는 것입니다. 3. 배열 활용 사례 배열은 시계열 데이터 저장, 문자열 처리, 정렬 및 검색 알고리즘 구현, 행렬 및 벡터 연산 등 다양한 상황에서 활용됩니...2025.05.05
-
[C++ 프로그래밍-방송통신대-24-2학기-출석수업과제물] 각 예제의 완성된 소스코드(각 라인별로 주석(설명) 새로 추가)와 실행결과 화면을 제출하시오.2025.01.261. FirstStep.cpp 수정 주어진 FirstStep.cpp 파일은 C++로 작성된 간단한 출력 프로그램이다. 기존 코드는 std::cout을 사용하여 "나의 첫 번째 C++ 프로그램"이라는 문자열을 출력하고, std::endl을 이용해 줄바꿈 처리를 하고 있다. 문제에서 요구한 사항은 5행의 코드를 std:: 네임스페이스를 사용하지 않고 cout과 endl만 사용하도록 수정하는 것이다. 수정 후 코드는 네임스페이스를 명시하지 않으면서도 동일한 결과를 출력할 수 있기 때문에 코드가 더 간결해지고, 가독성도 높아졌다. 2. 배...2025.01.26
-
프로세스의 스케줄링과 상태 변화에 대해 조사하시오2025.01.121. 프로세스 프로세스는 컴퓨터에서 실행되는 프로그램 또는 작업을 의미합니다. 멀티 프로세스 운영 체제에서는 여러 프로세스가 CPU를 분할하여 시간을 할당받아 실행됩니다. 2. 스케줄링과 스케줄러 스케줄링은 프로세스의 CPU 할당 순서와 방법을 결정하는 것을 의미합니다. 스케줄링 알고리즘을 사용하고 이를 적용하여 프로세스를 관리하는 운영체제 요소를 스케줄러라고 합니다. 3. 멀티 프로세스 멀티 프로세스 운영 체제에서는 여러 프로세스가 CPU를 분할하여 시간을 할당받아 실행됩니다. 프로세스 A가 입출력 작업을 수행하는 동안 프로세스 ...2025.01.12
-
가상 메모리 소개 및 페이징 기술, 페이지 교체 알고리즘2025.01.021. 가상 메모리 가상 메모리는 컴퓨터 과학과 운영 체제의 기본 개념입니다. 이를 통해 컴퓨터는 하드 드라이브의 일부를 RAM의 확장으로 사용하여 물리 메모리(RAM)의 제한을 보완할 수 있습니다. 이 기술을 통해 효율적인 멀티태스킹이 가능해져 물리 메모리에 완전히 적합하지 않은 대규모 프로그램을 실행할 수 있습니다. 2. 페이징 기술 및 분할 페이징과 분할은 가상 메모리 구현에 사용하는 두 가지 주요 방법입니다. 페이징에서는 물리 메모리와 가상 메모리를 고정 크기의 블록으로 분할하고 가변 크기의 블록으로 분할합니다. 두 기술 모두...2025.01.02
-
단편화와 배치전략에 대하여2025.01.181. 단편화 단편화란 컴퓨터 시스템에서 메모리나 저장장치 등의 자원이 작은 조각으로 분할되는 현상을 말한다. 내부 단편화와 외부 단편화 두 가지 종류가 있으며, 이를 해결하기 위해 다양한 배치 전략이 개발되었다. 2. 고정 분할 할당 기법 고정 분할 할당 기법은 메모리를 동일한 크기로 나누어 프로그램을 할당하는 방식이다. 빠른 할당이 가능하지만 내부 단편화 문제가 발생한다. 3. 가변 분할 할당 기법 가변 분할 할당 기법은 각 프로그램의 크기에 맞게 메모리를 동적으로 분할하는 방식이다. 내부 단편화 문제는 해결되지만 외부 단편화 문...2025.01.18
-
멀티 스레드와 스레드 간 통신 방법 및 문제점 극복2025.01.181. 멀티 스레드 개념 멀티 스레드는 애플리케이션이 여러 작업을 동시에 수행할 수 있도록 하는 기술입니다. 스레드는 프로세스 내의 단일 실행 단위로, 자체 스택과 프로그램 카운터를 사용하여 자체 컨텍스트에서 실행할 수 있지만 프로세스 내의 다른 스레드와 동일한 메모리를 공유합니다. 2. 스레드 간 통신 방법 스레드 간 통신에는 공유 메모리, 메시지 전달, 신호 등 여러 가지 방법이 있습니다. 공유 메모리는 여러 스레드가 동일한 메모리 위치에 액세스할 수 있도록 하는 기술이며, 메시지 전달은 통신 채널을 통해 스레드 간에 메시지를 보...2025.01.18