
총 46개
-
소프트웨어 보안 CWE Top 25 보안 약점 과제2025.01.121. Use After Free (UAF) UAF는 해제된 메모리 영역을 재사용할 때 발생하는 보안 약점으로, Heap 영역에서 일어나는 문제입니다. 해제된 메모리 공간이 새로운 포인터에 할당될 경우 그 포인터가 해당 영역의 값과 주소 값을 사용할 수 있게 되어 발생합니다. 이를 악용하여 공격자가 해당 영역을 공격 코드로 덮으면 개발자가 의도치 않게 공격 코드를 실행할 수 있습니다. 2. Server-Side Request Forgery (SSRF) SSRF는 서버 측에서 피해자에게 위조된 요청을 보내도록 하는 공격입니다. 웹 서버...2025.01.12
-
운영체제의 메모리 구성 및 메모리 자원의 관리2025.01.171. 메모리 계층구조 메모리는 컴퓨터의 기억을 담당하는 것으로 상태나 명령어 등을 기록하는 장치이다. 메모리는 속도와 용량에 따라 계층 구조를 이루고 있으며, 레지스터, 캐시, 메인메모리, 보조기억장치 순으로 용량이 커지고 속도가 느려진다. 메모리 계층 구조는 지역성을 최대한 활용하여 시스템 성능을 향상시킨다. 2. 메모리 관리 메모리 관리는 자원의 효율적인 사용 및 프로세스 간의 격리 보호, 단편화 문제 해결 등을 위해 필요하다. 프로세스의 주소는 논리적 주소와 물리적 주소로 나뉘며, 이러한 논리적 주소와 물리적 주소의 연결(메모...2025.01.17
-
가상 메모리 소개 및 페이징 기술, 페이지 교체 알고리즘2025.01.021. 가상 메모리 가상 메모리는 컴퓨터 과학과 운영 체제의 기본 개념입니다. 이를 통해 컴퓨터는 하드 드라이브의 일부를 RAM의 확장으로 사용하여 물리 메모리(RAM)의 제한을 보완할 수 있습니다. 이 기술을 통해 효율적인 멀티태스킹이 가능해져 물리 메모리에 완전히 적합하지 않은 대규모 프로그램을 실행할 수 있습니다. 2. 페이징 기술 및 분할 페이징과 분할은 가상 메모리 구현에 사용하는 두 가지 주요 방법입니다. 페이징에서는 물리 메모리와 가상 메모리를 고정 크기의 블록으로 분할하고 가변 크기의 블록으로 분할합니다. 두 기술 모두...2025.01.02
-
메시지 큐에서 수신이 없을 때 시스템 메모리에 미치는 영향과 해결 방안2025.01.131. 메모리 누수 메시지 큐에 지속적으로 메시지를 등록하는 경우, 메모리 누수가 발생할 수 있습니다. 메모리를 해제하지 않은 상태에서 계속해서 메모리를 사용하게 되어 시스템 자원이 낭비됩니다. 이는 성능 저하로 이어질 수 있는 치명적인 문제입니다. 2. 메모리 사용량 증가 지속적인 메시지 등록으로 인해 메모리에 메시지가 계속 쌓이게 됩니다. 이로 인해 메모리 사용량이 크게 증가하게 되며, 가용 메모리 부족으로 시스템이 중단되거나 성능이 저하될 수 있습니다. 메모리 부족은 다른 시스템에도 영향을 미칠 수 있는 심각한 문제입니다. 3....2025.01.13
-
C언어로 구현한 배열과 구조체의 차이점 설명 및 성적 처리 프로그램2025.01.171. 배열 배열은 동일한 자료형을 갖는 데이터들을 연속적인 메모리 공간에 저장하기 위한 자료구조입니다. 배열의 각 요소는 인덱스라는 숫자로 식별되며, 이를 통해 데이터에 빠르게 접근할 수 있습니다. 배열은 반복 루프와 결합하여 데이터를 효율적으로 처리할 수 있게 해 줍니다. 2. 구조체 구조체는 서로 다른 자료형을 가진 데이터들을 하나의 단위로 묶기 위해 사용됩니다. 구조체 내의 각 요소들은 멤버 또는 필드라고 불리며, 각각이 서로 다른 데이터 타입을 가질 수 있습니다. 구조체는 여러 유형의 데이터를 관련성 있게 그룹화하는 데 유용...2025.01.17
-
메모리 단편화(Memory Fragmentation)의 개념과 해결 방안2025.01.161. 메모리 단편화의 개념 메모리 단편화는 사용가능한 메모리가 충분하지만 메모리 공간이 조각으로 분할되어 프로그램이 필요한 만큼의 메모리 공간을 할당 받지 못하는 상태를 말합니다. 메모리 단편화의 원인으로는 메모리 할당 정책이나 알고리즘이 메모리를 비효율적으로 사용하게 되는 경우, 메모리 할당 및 해제 과정에서 메모리 블록들이 불연속적으로 배치되는 경우, 메모리를 할당하고 해제하는 순서나 크기가 문제가 되는 경우, 프로그램 실행 중에 메모리 사용량이 바뀌는 경우 등 다양한 원인들이 있습니다. 2. 내부 단편화와 외부 단편화의 개념 ...2025.01.16
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
운영체제의 실제 메모리 구성과 물리적 메모리 관리2025.01.181. 메모리의 구조 물리적 메모리와 가상 메모리의 차이를 설명하고, 주 메모리와 보조 메모리의 특성을 설명한다. 2. 메모리 관리 전략 연속 메모리 할당과 비연속 메모리 할당(페이징, 세그멘테이션)의 장단점을 설명하고, 메모리 할당 정책(최초 적합, 최적 적합, 최악 적합)과 스와핑, 프레임 할당 알고리즘에 대해 설명한다. 3. 운영체제의 메모리 관리 역할 운영체제가 제한된 메모리 자원을 효율적으로 활용하기 위해 다양한 메모리 관리 전략과 알고리즘을 적용하는 것을 설명한다. 1. 메모리의 구조 메모리는 컴퓨터 시스템의 핵심 구성 요...2025.01.18
-
C언어 - 포인터에 관련한 다음 물음들에 대한 답을 제시하시오2025.01.271. 포인터의 개념과 기능 포인터의 개념은 '주소를 저장하는 변수'로 여기에는 두 가지 중요한 점이 있습니다. 하나는 '주소를 저장한다'는 것이고 다른 하나는 '변수'라는 것입니다. 포인터는 정의할 때 *를 붙이며, 포인터에 어떤 주소를 넣느냐에 따라 정수형 포인터, 문자 포인터, 함수 포인터 등의 이름이 지정됩니다. 포인터는 메모리를 저장할 수 있는 특징이 있지만, 변수이기 때문에 생성만 해놓은 상태만으로는 아무것도 할 수 없습니다. 다른 변수의 메모리 주소를 대입하거나 메모리를 할당하는 함수를 사용하여 메모리를 할당받은 후, 해...2025.01.27
-
프로세스 개념을 설명하고 처리방식에 대해 설명하시오2025.01.171. 프로세스의 정의 프로세스는 실행 중인 프로그램을 의미하며, 프로그램의 코드와 프로그램 실행에 필요한 데이터 및 상태 정보를 포함합니다. 컴퓨터 시스템에서 프로세스는 독립적인 실행 단위로 간주되며, 각 프로세스는 고유한 주소 공간을 가지며 다른 프로세스와 분리된 환경에서 실행됩니다. 2. 프로세스 관리 기법 프로세스 관리 기법은 운영체제가 시스템 자원을 효율적으로 분배하고 각 프로세스가 원활하게 실행될 수 있도록 하는 데 중요한 역할을 합니다. 주요 프로세스 관리 기법으로는 스케줄링, 메모리 관리, 동기화와 통신이 있습니다. 3...2025.01.17