
총 46개
-
운영체제 - 기억장치의 개념과 기억장치의 스케줄링에 대하여 설명하시오2025.01.151. 기억장치의 개념 기억장치는 컴퓨터 시스템에서 데이터를 저장하고 접근하는 데 사용되는 하드웨어 구성 요소이다. 기억장치는 주로 주기억장치(메인 메모리)와 보조기억장치(보조 저장장치)로 구분된다. 주기억장치는 컴퓨터가 실행 중인 프로그램과 데이터에 빠르게 접근할 수 있도록 도와주며, 보조기억장치는 데이터와 프로그램을 장기적으로 저장하는 데 사용된다. 기억장치는 데이터 접근 속도와 용량에 따라 계층적으로 구성된다. 2. 기억장치의 스케줄링 기억장치 스케줄링은 컴퓨터 시스템에서 메모리 자원을 효율적으로 할당하고 관리하는 방법을 의미한...2025.01.15
-
C언어 - 포인터에 관련한 다음 물음들에 대한 답을 제시하시오2025.01.271. 포인터의 개념과 기능 포인터의 개념은 '주소를 저장하는 변수'로 여기에는 두 가지 중요한 점이 있습니다. 하나는 '주소를 저장한다'는 것이고 다른 하나는 '변수'라는 것입니다. 포인터는 정의할 때 *를 붙이며, 포인터에 어떤 주소를 넣느냐에 따라 정수형 포인터, 문자 포인터, 함수 포인터 등의 이름이 지정됩니다. 포인터는 메모리를 저장할 수 있는 특징이 있지만, 변수이기 때문에 생성만 해놓은 상태만으로는 아무것도 할 수 없습니다. 다른 변수의 메모리 주소를 대입하거나 메모리를 할당하는 함수를 사용하여 메모리를 할당받은 후, 해...2025.01.27
-
단편화의 의미와 이를 극복하는 방법, 내부 단편화와 외부 단편화의 차이점2025.01.191. 단편화의 정의 단편화는 컴퓨터 과학에서 매우 중요한 개념이다. 이는 주로 메모리 관리와 밀접한 관련이 있으며, 시스템 성능 저하를 유발할 수 있는 주요 원인 중 하나이다. 단편화에는 내부 단편화와 외부 단편화가 있으며, 내부 단편화는 할당된 메모리 블록 내에서 사용되지 않는 공간이 발생하는 현상이고, 외부 단편화는 사용 가능한 메모리 블록들이 불규칙하게 분산되어 큰 메모리 요청을 처리할 수 없는 상태를 의미한다. 2. 단편화 극복 방법 단편화를 극복하기 위한 방법으로는 메모리 압축, 메모리 풀링, 가비지 컬렉션 등이 있다. 메...2025.01.19
-
운영체제 메모리 관리 레포트2025.05.021. 가상 메모리 가상 메모리는 사용자와 논리적 주소를 물리적으로 분리하여 프로세스에 주소를 지정하고 메모리 제한 없이 사용할 수 있게 해줍니다. 메모리의 일부만 적재해도 프로세스를 실행할 수 있으며, 메모리와 디스크 사이의 데이터 이동을 통해 효율적으로 메모리를 활용할 수 있습니다. 가상 메모리를 사용하면 프로그래밍이 용이해지고 프로세서 이용률과 처리율이 향상되지만, 메모리와 디스크 사이의 이동량이 증가하고 페이징 알고리즘 결정이 필요한 단점이 있습니다. 2. 매핑 방법 가상 주소와 물리적 주소를 매핑하는 방법에는 동적 주소 변환...2025.05.02
-
자료구조_1차원 배열과 2차원 배열의 차이점과 배열이 가지는 장단점에 대하여2025.04.271. 배열 배열은 같은 자료형의 데이터를 메모리상에 연속적으로 저장하는 자료형입니다. 1차원 배열은 하나의 인덱스로 구성되며, 2차원 배열은 행과 열을 나타내는 두 개의 인덱스로 구성됩니다. 1차원 배열과 2차원 배열의 차이점은 인덱스의 개수와 메모리 할당 방식에 있습니다. 1차원 배열은 행 단위로 메모리가 할당되지만, 2차원 배열은 행 우선 또는 열 우선 방식으로 메모리가 할당될 수 있습니다. 이에 따라 메모리 사용량과 접근 속도에 차이가 있습니다. 2. 구조체 구조체는 서로 다른 자료형의 데이터를 하나의 그룹으로 묶은 자료형입니...2025.04.27
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
운영체제에 대하여 설명하시오2025.05.091. 운영 체제란 무엇인가? 컴퓨터에서 운영 체제(Operating System, OS)란 하드웨어와 응용 프로그램 사이에서 중개자 역할을 하는 소프트웨어입니다. 운영 체제는 컴퓨터의 리소스(자원)를 효율적으로 관리하고, 응용 프로그램이 하드웨어에 직접적으로 접근하지 않도록 합니다. 2. 운영 체제 기능 운영 체제는 컴퓨터의 적절한 기능을 보장하기 위해 메모리 관리, 프로세스 관리, 파일 관리, 장치 관리 등 다양한 기능을 수행합니다. 3. 운영 체제의 구성 요소 운영 체제는 커널, 셸, 응용 프로그램 등의 구성 요소로 나뉩니다. ...2025.05.09
-
어셈블리언어(시스템프로그래밍) 과제-4 (고급 언어 구조와 정수 연산을 수행하는 프로그램)2025.05.111. 메모리 변수 사용 프로그램 메모리 변수를 사용하는 간단한 프로그램을 작성하여 Visual Studio 통합개발환경에서 어셈블러를 사용할 수 있는 프로젝트를 만들고 실행해보았습니다. 디버거 사용법도 연습하였습니다. 코드를 통해 변수 val1과 val2의 메모리 주소와 저장된 값을 확인할 수 있었고, 레지스터 eax에 두 값의 합이 저장된 것을 확인할 수 있었습니다. 2. if-else 구문 구현 if-else 구문을 구현하는 프로그램을 작성하였습니다. ecx와 edx 레지스터에 입력받은 값을 비교하여 조건부 점프를 통해 x 변수...2025.05.11
-
C언어에서 메모리를 효율적으로 활용하기 위한 포인터의 활용2025.05.061. 포인터 정의 포인터는 변수의 주소를 나타내는 변수이다. 변수는 메모리 상의 어떤 위치에 할당되며, 이 위치를 주소(address)라고 한다. 포인터는 이러한 변수의 주소를 저장하고, 이 주소를 통해 변수에 접근할 수 있다. 포인터를 선언할 때는 포인터 변수의 자료형을 지정해야 하며, 포인터 변수의 자료형은 포인터가 가리키는 변수의 자료형과 일치해야 한다. 2. 포인터 변수 정의와 예제 포인터 변수는 메모리의 주소를 저장하는 변수이다. 포인터 변수를 사용하면 변수의 값을 직접 변경하거나, 함수의 인자로 포인터를 사용하여 함수 외...2025.05.06
-
시스템프로그래밍(명령어 실행 4단계 및 논리주소와 물리주소)2025.01.031. 명령어(instruction) 명령어(instruction)란 컴퓨터가 직접 실행할 수 있는 프로그램의 최소 단위를 의미합니다. 명령어는 프로세서가 외부적으로 작동하는 '판독'과 '기록' 사이클, 기억장치에서 읽은 프로그램 명령어를 '실행시키는 4단계'로 구분해서 이해할 수 있습니다. 2. 명령어 실행 4단계 명령어 실행은 '명령어 인출 → 명령어 해독 → 데이터 인출 → 명령어 실행'의 4단계로 진행되며, 각 단계별 내용이 자세히 설명되어 있습니다. 3. 물리 주소와 논리 주소 메모리의 구조는 크게 물리 주소와 논리 주소 두...2025.01.03