
총 46개
-
어셈블리언어(시스템프로그래밍) 과제-4 (고급 언어 구조와 정수 연산을 수행하는 프로그램)2025.05.111. 메모리 변수 사용 프로그램 메모리 변수를 사용하는 간단한 프로그램을 작성하여 Visual Studio 통합개발환경에서 어셈블러를 사용할 수 있는 프로젝트를 만들고 실행해보았습니다. 디버거 사용법도 연습하였습니다. 코드를 통해 변수 val1과 val2의 메모리 주소와 저장된 값을 확인할 수 있었고, 레지스터 eax에 두 값의 합이 저장된 것을 확인할 수 있었습니다. 2. if-else 구문 구현 if-else 구문을 구현하는 프로그램을 작성하였습니다. ecx와 edx 레지스터에 입력받은 값을 비교하여 조건부 점프를 통해 x 변수...2025.05.11
-
캐시 기억장치의 필요성과 캐시 기억장치 설계 시 가장 중요하다고 생각하는 사항2025.05.021. 캐시 기억장치의 필요성 컴퓨터의 주요 장치 중 하나인 기억장치는 필요한 정보를 보관 및 저장하는 역할을 한다. 기억장치는 컴퓨터 동작 시 프로그램의 명령어나 처리할 데이터를 저장하며 기억장치의 용량과 처리 속도는 컴퓨터의 성능에 큰 영향을 끼친다. 이때, 주기억장치는 중앙처리 장치에 비해 속도가 느리기 때문에 속도 차이가 나게 된다. 캐시 기억장치는 중앙 처리 장치와 그에 비해 속도가 느린 주기억장치 사이의 속도 차이를 극복하기 위해 사용되는 기억장치이다. 2. 캐시 기억장치 설계 시 가장 중요하다고 생각하는 사항 캐시기억장치...2025.05.02
-
[자료구조] 동적메모리를 구현하고 출력하는 소스코드2025.05.051. 동적 메모리 할당 이 코드는 동적 메모리 할당을 사용하여 구조체 배열을 생성하고 값을 할당한 후 출력하는 예제입니다. malloc() 함수를 사용하여 메모리를 동적으로 할당하고, 구조체 포인터 p를 통해 메모리에 접근하여 값을 설정합니다. 마지막으로 free() 함수를 사용하여 동적으로 할당된 메모리를 해제합니다. 1. 동적 메모리 할당 동적 메모리 할당은 프로그램 실행 중에 필요한 메모리 공간을 동적으로 할당하는 기능입니다. 이를 통해 프로그램은 실행 시간에 메모리 요구량을 유연하게 조절할 수 있습니다. 동적 메모리 할당은 ...2025.05.05
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
컴퓨터 시스템의 기본 구조와 운영체제에 대한 이해 및 실무 활용2025.01.281. 컴퓨터 시스템의 기본 구조 컴퓨터 시스템은 하드웨어 구성 요소들이 유기적으로 연계되어 작동합니다. CPU, 메모리, 입출력 장치 등의 구성 요소들이 상호작용하며 데이터를 처리하고 명령을 실행합니다. 각 요소의 성능과 상호작용이 컴퓨터 시스템의 전반적인 성능에 영향을 미칩니다. 2. 운영체제의 개념과 역할 운영체제는 컴퓨터 하드웨어와 소프트웨어 간의 중개 역할을 하는 시스템 소프트웨어입니다. 운영체제는 CPU, 메모리, 입출력 장치 등의 자원을 효율적으로 관리하고 프로그램의 실행을 조정하는 핵심적인 기능을 수행합니다. 운영체제는...2025.01.28
-
방통대 방송대 프로그래밍언어론 핵심요약노트 교재요약본 (1장~15장)2025.01.251. 프로그래밍 언어의 역사와 발전 프로그래밍 언어의 역사와 발전 과정을 살펴보면, 1950년대 초반 MIT에서 개발된 LISP부터 시작하여 1960년대 ALGOL, COBOL, BASIC 등이 등장했고, 1970년대에는 C, Pascal, Prolog, Ada 등이 개발되었습니다. 1980년대에는 Smalltalk, ML, Scheme, Objective-C 등이 등장했으며, 1990년대에는 C++, Java, JavaScript, Python, Haskell 등이 개발되었습니다. 이처럼 프로그래밍 언어는 시대의 변화와 함께 지속...2025.01.25
-
운영체제 LRU (Least Recently Used) 알고리즘 구현 과제2025.04.281. LRU (Least Recently Used) 알고리즘 LRU (Least Recently Used) 알고리즘은 운영체제에서 메모리 페이지 교체 정책으로 사용되는 알고리즘입니다. 이 알고리즘은 가장 오랫동안 참조되지 않은 페이지를 교체하여 페이지 폴트를 최소화하는 것을 목표로 합니다. 이 프로그램은 C로 작성되었으며 Doubly Linked List로 LRU 알고리즘을 구현하고 있습니다. 페이지 번호를 읽어와 메모리에 올릴 수 있는 최대 페이지 개수를 고려하여 LRU 알고리즘을 적용하고 있으며, 페이지 참조 시마다 연결 리스트...2025.04.28
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
가상메모리에서 페이지 대치 알고리즘 비교2025.01.171. FIFO 알고리즘 FIFO 알고리즘은 메인 메모리에 가장 먼저 입력된 페이지를 선택하여 제거하는 방식입니다. 이는 마치 터널을 통과하는 자동차와 같아서, 터널에 가장 먼저 들어간 자동차가 반대편 터널에서 가장 먼저 나오게 됩니다. 2. 최적 페이지 대치 알고리즘 최적 페이지 대치 알고리즘은 향후 가장 오랫동안 사용되지 않을 페이지를 선택하여 교체합니다. 이는 향후 2초 동안 사용되지 않을 페이지를 교체하는 것과 같습니다. 3. LRU 알고리즘 LRU 알고리즘은 가장 최근에 사용되지 않은 페이지를 교체합니다. 이는 집을 청소하는...2025.01.17
-
다양한 주소 지정 방식 중 직접 주소 방법과 간접 주소 방법을 비교 설명하시오2025.01.181. 주소 지정 방식 주소 지정 방식은 데이터와 명령어의 위치를 지정하는 방법에 따라 구분되며, 대표적인 방식으로 직접 주소 지정 방식과 간접 주소 지정 방식이 있다. 직접 주소 방식은 컴퓨터가 필요한 정보를 찾을 때 바로 정보가 있는 곳을 알려주는 방식이고, 간접 주소 지정 방식은 직접 정보가 있는 곳을 알지는 못하고 한 번 더 거쳐 정보를 찾는 방식이다. 2. 직접 주소 지정 방식 직접 주소 지정 방식은 명령어의 주소 필드 내용이 유효 주소가 되는 방식으로, 데이터 인출을 위해 기억장치에 한 번만 접근하여 속도가 빠르지만 지정할...2025.01.18