총 46개
-
C언어로 구현한 배열과 구조체의 차이점 설명 및 성적 처리 프로그램2025.01.171. 배열 배열은 동일한 자료형을 갖는 데이터들을 연속적인 메모리 공간에 저장하기 위한 자료구조입니다. 배열의 각 요소는 인덱스라는 숫자로 식별되며, 이를 통해 데이터에 빠르게 접근할 수 있습니다. 배열은 반복 루프와 결합하여 데이터를 효율적으로 처리할 수 있게 해 줍니다. 2. 구조체 구조체는 서로 다른 자료형을 가진 데이터들을 하나의 단위로 묶기 위해 사용됩니다. 구조체 내의 각 요소들은 멤버 또는 필드라고 불리며, 각각이 서로 다른 데이터 타입을 가질 수 있습니다. 구조체는 여러 유형의 데이터를 관련성 있게 그룹화하는 데 유용...2025.01.17
-
다양한 주소 지정 방식 중 직접 주소 방법과 간접 주소 방법 비교 설명2025.01.171. 직접 주소 방법 직접 주소 방법은 명령어가 데이터의 실제 메모리 주소를 포함하는 방식입니다. 이 방법은 구현이 단순하고 접근 속도가 빠르다는 장점이 있지만, 프로그램의 유연성이 떨어지고 메모리 사용의 비효율성이 있습니다. 주로 간단한 프로그램이나 시스템에서 사용됩니다. 2. 간접 주소 방법 간접 주소 방법은 명령어가 데이터의 실제 주소 대신 주소를 가리키는 포인터를 포함하는 방식입니다. 이 방법은 메모리 사용의 유연성을 높이고 프로그램의 유연성을 향상시킬 수 있지만, 접근 속도가 느리고 포인터 사용의 오류 가능성이 있습니다. ...2025.01.17
-
소프트웨어 보안 CWE Top 25 보안 약점 과제2025.01.121. Use After Free (UAF) UAF는 해제된 메모리 영역을 재사용할 때 발생하는 보안 약점으로, Heap 영역에서 일어나는 문제입니다. 해제된 메모리 공간이 새로운 포인터에 할당될 경우 그 포인터가 해당 영역의 값과 주소 값을 사용할 수 있게 되어 발생합니다. 이를 악용하여 공격자가 해당 영역을 공격 코드로 덮으면 개발자가 의도치 않게 공격 코드를 실행할 수 있습니다. 2. Server-Side Request Forgery (SSRF) SSRF는 서버 측에서 피해자에게 위조된 요청을 보내도록 하는 공격입니다. 웹 서버...2025.01.12
-
메모리 단편화(Memory Fragmentation)의 개념과 해결 방안2025.01.161. 메모리 단편화의 개념 메모리 단편화는 사용가능한 메모리가 충분하지만 메모리 공간이 조각으로 분할되어 프로그램이 필요한 만큼의 메모리 공간을 할당 받지 못하는 상태를 말합니다. 메모리 단편화의 원인으로는 메모리 할당 정책이나 알고리즘이 메모리를 비효율적으로 사용하게 되는 경우, 메모리 할당 및 해제 과정에서 메모리 블록들이 불연속적으로 배치되는 경우, 메모리를 할당하고 해제하는 순서나 크기가 문제가 되는 경우, 프로그램 실행 중에 메모리 사용량이 바뀌는 경우 등 다양한 원인들이 있습니다. 2. 내부 단편화와 외부 단편화의 개념 ...2025.01.16
-
캐시 기억장치의 필요성과 캐시 기억장치 설계 시 가장 중요하다고 생각하는 사항2025.05.021. 캐시 기억장치의 필요성 컴퓨터의 주요 장치 중 하나인 기억장치는 필요한 정보를 보관 및 저장하는 역할을 한다. 기억장치는 컴퓨터 동작 시 프로그램의 명령어나 처리할 데이터를 저장하며 기억장치의 용량과 처리 속도는 컴퓨터의 성능에 큰 영향을 끼친다. 이때, 주기억장치는 중앙처리 장치에 비해 속도가 느리기 때문에 속도 차이가 나게 된다. 캐시 기억장치는 중앙 처리 장치와 그에 비해 속도가 느린 주기억장치 사이의 속도 차이를 극복하기 위해 사용되는 기억장치이다. 2. 캐시 기억장치 설계 시 가장 중요하다고 생각하는 사항 캐시기억장치...2025.05.02
-
가상메모리에서 페이지 대치 알고리즘 비교2025.01.171. FIFO 알고리즘 FIFO 알고리즘은 메인 메모리에 가장 먼저 입력된 페이지를 선택하여 제거하는 방식입니다. 이는 마치 터널을 통과하는 자동차와 같아서, 터널에 가장 먼저 들어간 자동차가 반대편 터널에서 가장 먼저 나오게 됩니다. 2. 최적 페이지 대치 알고리즘 최적 페이지 대치 알고리즘은 향후 가장 오랫동안 사용되지 않을 페이지를 선택하여 교체합니다. 이는 향후 2초 동안 사용되지 않을 페이지를 교체하는 것과 같습니다. 3. LRU 알고리즘 LRU 알고리즘은 가장 최근에 사용되지 않은 페이지를 교체합니다. 이는 집을 청소하는...2025.01.17
-
자료구조_1차원 배열과 2차원 배열의 차이점과 배열이 가지는 장단점에 대하여2025.04.271. 배열 배열은 같은 자료형의 데이터를 메모리상에 연속적으로 저장하는 자료형입니다. 1차원 배열은 하나의 인덱스로 구성되며, 2차원 배열은 행과 열을 나타내는 두 개의 인덱스로 구성됩니다. 1차원 배열과 2차원 배열의 차이점은 인덱스의 개수와 메모리 할당 방식에 있습니다. 1차원 배열은 행 단위로 메모리가 할당되지만, 2차원 배열은 행 우선 또는 열 우선 방식으로 메모리가 할당될 수 있습니다. 이에 따라 메모리 사용량과 접근 속도에 차이가 있습니다. 2. 구조체 구조체는 서로 다른 자료형의 데이터를 하나의 그룹으로 묶은 자료형입니...2025.04.27
-
운영체제 - 기억장치의 개념과 기억장치의 스케줄링에 대하여 설명하시오2025.01.151. 기억장치의 개념 기억장치는 컴퓨터 시스템에서 데이터를 저장하고 접근하는 데 사용되는 하드웨어 구성 요소이다. 기억장치는 주로 주기억장치(메인 메모리)와 보조기억장치(보조 저장장치)로 구분된다. 주기억장치는 컴퓨터가 실행 중인 프로그램과 데이터에 빠르게 접근할 수 있도록 도와주며, 보조기억장치는 데이터와 프로그램을 장기적으로 저장하는 데 사용된다. 기억장치는 데이터 접근 속도와 용량에 따라 계층적으로 구성된다. 2. 기억장치의 스케줄링 기억장치 스케줄링은 컴퓨터 시스템에서 메모리 자원을 효율적으로 할당하고 관리하는 방법을 의미한...2025.01.15
-
배열의 정의, 선언, 초기화 및 활용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