
총 46개
-
다양한 주소 지정 방식 중 직접 주소 방법과 간접 주소 방법을 비교 설명하시오2025.01.181. 주소 지정 방식 주소 지정 방식은 데이터와 명령어의 위치를 지정하는 방법에 따라 구분되며, 대표적인 방식으로 직접 주소 지정 방식과 간접 주소 지정 방식이 있다. 직접 주소 방식은 컴퓨터가 필요한 정보를 찾을 때 바로 정보가 있는 곳을 알려주는 방식이고, 간접 주소 지정 방식은 직접 정보가 있는 곳을 알지는 못하고 한 번 더 거쳐 정보를 찾는 방식이다. 2. 직접 주소 지정 방식 직접 주소 지정 방식은 명령어의 주소 필드 내용이 유효 주소가 되는 방식으로, 데이터 인출을 위해 기억장치에 한 번만 접근하여 속도가 빠르지만 지정할...2025.01.18
-
컴퓨터에서 숫자 표현과 중앙처리장치 동작 원리2025.05.111. 보수의 개념 보수(Complement)는 '보충을 해주는 수'라는 의미로 컴퓨터가 뺄셈을 할 때 사용되는 개념입니다. 보수는 2의 보수와 1의 보수로 나뉩니다. 2의 보수는 어떤 수의 1의 보수에 1을 더한 값이며, 1의 보수는 비트를 반전시킨 값입니다. 보수는 컴퓨터에서 음수를 표현하거나 덧셈과 뺄셈 연산 등에서 사용됩니다. 2. 보수체계 사용 이유 보수체계는 컴퓨터에서 수의 표현과 연산을 보다 효율적으로 처리할 수 있도록 도와줍니다. 컴퓨터는 연산체계에서 덧셈기능만 할 수 있는데, 보수를 이용하면 뺄셈도 수행할 수 있습니다...2025.05.11
-
다양한 주소 지정 방식 중 직접 주소 방법과 간접 주소 방법 비교 설명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
-
건국대학교 객체지향프로그래밍_3주차_랩실습보고서2025.05.011. 객체지향프로그래밍 이 보고서는 건국대학교 객체지향프로그래밍 수업의 3주차 랩실습 내용을 다루고 있습니다. 주요 내용은 파일로부터 동적 메모리 할당, 메모리 출력 및 저장, 메모리 정리 등입니다. 이를 통해 C++의 동적 메모리 관리 기능을 실습하고 이해할 수 있습니다. 1. 객체지향프로그래밍 객체지향프로그래밍은 소프트웨어 개발에 있어 매우 중요한 패러다임입니다. 이 방식은 현실 세계의 개체를 모방하여 프로그램을 구축하는 것으로, 코드의 재사용성, 유지보수성, 확장성 등 많은 장점을 가지고 있습니다. 객체지향 프로그래밍은 클래스...2025.05.01
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
-
배열의 정의, 선언, 초기화 및 활용2025.05.051. 배열의 정의 배열은 C언어에서 연속적인 메모리 영역에 동일한 데이터 타입의 여러 요소를 저장할 수 있는 구조입니다. 배열을 사용하면 데이터를 더욱 구조화된 방식으로 저장하고 접근할 수 있습니다. 2. 1차원 배열 선언 1차원 배열을 선언하려면 데이터 타입, 배열 이름, 배열 크기를 지정해야 합니다. 예를 들어, int arr[5]는 크기가 5인 int형 1차원 배열을 선언하는 것입니다. 3. 배열 활용 사례 배열은 시계열 데이터 저장, 문자열 처리, 정렬 및 검색 알고리즘 구현, 행렬 및 벡터 연산 등 다양한 상황에서 활용됩니...2025.05.05
-
C언어에서 메모리를 효율적으로 활용하기 위한 포인터의 활용2025.05.061. 포인터 정의 포인터는 변수의 주소를 나타내는 변수이다. 변수는 메모리 상의 어떤 위치에 할당되며, 이 위치를 주소(address)라고 한다. 포인터는 이러한 변수의 주소를 저장하고, 이 주소를 통해 변수에 접근할 수 있다. 포인터를 선언할 때는 포인터 변수의 자료형을 지정해야 하며, 포인터 변수의 자료형은 포인터가 가리키는 변수의 자료형과 일치해야 한다. 2. 포인터 변수 정의와 예제 포인터 변수는 메모리의 주소를 저장하는 변수이다. 포인터 변수를 사용하면 변수의 값을 직접 변경하거나, 함수의 인자로 포인터를 사용하여 함수 외...2025.05.06
-
운영체제 LRU (Least Recently Used) 알고리즘 구현 과제2025.04.281. LRU (Least Recently Used) 알고리즘 LRU (Least Recently Used) 알고리즘은 운영체제에서 메모리 페이지 교체 정책으로 사용되는 알고리즘입니다. 이 알고리즘은 가장 오랫동안 참조되지 않은 페이지를 교체하여 페이지 폴트를 최소화하는 것을 목표로 합니다. 이 프로그램은 C로 작성되었으며 Doubly Linked List로 LRU 알고리즘을 구현하고 있습니다. 페이지 번호를 읽어와 메모리에 올릴 수 있는 최대 페이지 개수를 고려하여 LRU 알고리즘을 적용하고 있으며, 페이지 참조 시마다 연결 리스트...2025.04.28
-
메시지 큐에서 수신이 없을 때 시스템 메모리에 미치는 영향과 해결 방안2025.01.131. 메모리 누수 메시지 큐에 지속적으로 메시지를 등록하는 경우, 메모리 누수가 발생할 수 있습니다. 메모리를 해제하지 않은 상태에서 계속해서 메모리를 사용하게 되어 시스템 자원이 낭비됩니다. 이는 성능 저하로 이어질 수 있는 치명적인 문제입니다. 2. 메모리 사용량 증가 지속적인 메시지 등록으로 인해 메모리에 메시지가 계속 쌓이게 됩니다. 이로 인해 메모리 사용량이 크게 증가하게 되며, 가용 메모리 부족으로 시스템이 중단되거나 성능이 저하될 수 있습니다. 메모리 부족은 다른 시스템에도 영향을 미칠 수 있는 심각한 문제입니다. 3....2025.01.13