
총 46개
-
메모리 단편화(Memory Fragmentation)의 개념과 해결 방안2025.01.161. 메모리 단편화의 개념 메모리 단편화는 사용가능한 메모리가 충분하지만 메모리 공간이 조각으로 분할되어 프로그램이 필요한 만큼의 메모리 공간을 할당 받지 못하는 상태를 말합니다. 메모리 단편화의 원인으로는 메모리 할당 정책이나 알고리즘이 메모리를 비효율적으로 사용하게 되는 경우, 메모리 할당 및 해제 과정에서 메모리 블록들이 불연속적으로 배치되는 경우, 메모리를 할당하고 해제하는 순서나 크기가 문제가 되는 경우, 프로그램 실행 중에 메모리 사용량이 바뀌는 경우 등 다양한 원인들이 있습니다. 2. 내부 단편화와 외부 단편화의 개념 ...2025.01.16
-
배열의 정의, 선언, 초기화 및 활용2025.05.051. 배열의 정의 배열은 C언어에서 연속적인 메모리 영역에 동일한 데이터 타입의 여러 요소를 저장할 수 있는 구조입니다. 배열을 사용하면 데이터를 더욱 구조화된 방식으로 저장하고 접근할 수 있습니다. 2. 1차원 배열 선언 1차원 배열을 선언하려면 데이터 타입, 배열 이름, 배열 크기를 지정해야 합니다. 예를 들어, int arr[5]는 크기가 5인 int형 1차원 배열을 선언하는 것입니다. 3. 배열 활용 사례 배열은 시계열 데이터 저장, 문자열 처리, 정렬 및 검색 알고리즘 구현, 행렬 및 벡터 연산 등 다양한 상황에서 활용됩니...2025.05.05
-
메시지 큐에서 수신이 없을 때 시스템 메모리에 미치는 영향과 해결 방안2025.01.131. 메모리 누수 메시지 큐에 지속적으로 메시지를 등록하는 경우, 메모리 누수가 발생할 수 있습니다. 메모리를 해제하지 않은 상태에서 계속해서 메모리를 사용하게 되어 시스템 자원이 낭비됩니다. 이는 성능 저하로 이어질 수 있는 치명적인 문제입니다. 2. 메모리 사용량 증가 지속적인 메시지 등록으로 인해 메모리에 메시지가 계속 쌓이게 됩니다. 이로 인해 메모리 사용량이 크게 증가하게 되며, 가용 메모리 부족으로 시스템이 중단되거나 성능이 저하될 수 있습니다. 메모리 부족은 다른 시스템에도 영향을 미칠 수 있는 심각한 문제입니다. 3....2025.01.13
-
캐시 기억장치의 필요성과 캐시 기억장치 설계 시 가장 중요하다고 생각하는 사항2025.05.021. 캐시 기억장치의 필요성 컴퓨터의 주요 장치 중 하나인 기억장치는 필요한 정보를 보관 및 저장하는 역할을 한다. 기억장치는 컴퓨터 동작 시 프로그램의 명령어나 처리할 데이터를 저장하며 기억장치의 용량과 처리 속도는 컴퓨터의 성능에 큰 영향을 끼친다. 이때, 주기억장치는 중앙처리 장치에 비해 속도가 느리기 때문에 속도 차이가 나게 된다. 캐시 기억장치는 중앙 처리 장치와 그에 비해 속도가 느린 주기억장치 사이의 속도 차이를 극복하기 위해 사용되는 기억장치이다. 2. 캐시 기억장치 설계 시 가장 중요하다고 생각하는 사항 캐시기억장치...2025.05.02
-
단편화와 배치전략에 대하여2025.01.181. 단편화 단편화란 컴퓨터 시스템에서 메모리나 저장장치 등의 자원이 작은 조각으로 분할되는 현상을 말한다. 내부 단편화와 외부 단편화 두 가지 종류가 있으며, 이를 해결하기 위해 다양한 배치 전략이 개발되었다. 2. 고정 분할 할당 기법 고정 분할 할당 기법은 메모리를 동일한 크기로 나누어 프로그램을 할당하는 방식이다. 빠른 할당이 가능하지만 내부 단편화 문제가 발생한다. 3. 가변 분할 할당 기법 가변 분할 할당 기법은 각 프로그램의 크기에 맞게 메모리를 동적으로 분할하는 방식이다. 내부 단편화 문제는 해결되지만 외부 단편화 문...2025.01.18
-
C언어로 구현한 배열과 구조체의 차이점 설명 및 성적 처리 프로그램2025.01.171. 배열 배열은 동일한 자료형을 갖는 데이터들을 연속적인 메모리 공간에 저장하기 위한 자료구조입니다. 배열의 각 요소는 인덱스라는 숫자로 식별되며, 이를 통해 데이터에 빠르게 접근할 수 있습니다. 배열은 반복 루프와 결합하여 데이터를 효율적으로 처리할 수 있게 해 줍니다. 2. 구조체 구조체는 서로 다른 자료형을 가진 데이터들을 하나의 단위로 묶기 위해 사용됩니다. 구조체 내의 각 요소들은 멤버 또는 필드라고 불리며, 각각이 서로 다른 데이터 타입을 가질 수 있습니다. 구조체는 여러 유형의 데이터를 관련성 있게 그룹화하는 데 유용...2025.01.17
-
다양한 주소 지정 방식 중 직접 주소 방법과 간접 주소 방법을 비교 설명하시오2025.01.181. 주소 지정 방식 주소 지정 방식은 데이터와 명령어의 위치를 지정하는 방법에 따라 구분되며, 대표적인 방식으로 직접 주소 지정 방식과 간접 주소 지정 방식이 있다. 직접 주소 방식은 컴퓨터가 필요한 정보를 찾을 때 바로 정보가 있는 곳을 알려주는 방식이고, 간접 주소 지정 방식은 직접 정보가 있는 곳을 알지는 못하고 한 번 더 거쳐 정보를 찾는 방식이다. 2. 직접 주소 지정 방식 직접 주소 지정 방식은 명령어의 주소 필드 내용이 유효 주소가 되는 방식으로, 데이터 인출을 위해 기억장치에 한 번만 접근하여 속도가 빠르지만 지정할...2025.01.18
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
프로세스 개념을 설명하고 처리방식에 대해 설명하시오2025.01.171. 프로세스의 정의 프로세스는 실행 중인 프로그램을 의미하며, 프로그램의 코드와 프로그램 실행에 필요한 데이터 및 상태 정보를 포함합니다. 컴퓨터 시스템에서 프로세스는 독립적인 실행 단위로 간주되며, 각 프로세스는 고유한 주소 공간을 가지며 다른 프로세스와 분리된 환경에서 실행됩니다. 2. 프로세스 관리 기법 프로세스 관리 기법은 운영체제가 시스템 자원을 효율적으로 분배하고 각 프로세스가 원활하게 실행될 수 있도록 하는 데 중요한 역할을 합니다. 주요 프로세스 관리 기법으로는 스케줄링, 메모리 관리, 동기화와 통신이 있습니다. 3...2025.01.17