
총 46개
-
병렬프로그래밍 CUDA 프로그래밍 과제1 - Vector Addition2025.05.061. CPU를 이용한 벡터 덧셈 계산 CPU로 처리해서 벡터 합을 계산하는 코드를 제공하였습니다. 이 코드는 벡터의 크기를 입력받아 각 벡터의 원소들을 더하여 결과를 생성합니다. 시간 측정을 통해 벡터의 크기가 커질수록 연산 시간이 늘어나는 것을 확인할 수 있습니다. 2. GPU를 이용한 벡터 덧셈 계산 GPU로 처리해서 벡터 합을 계산하는 코드를 제공하였습니다. 이 코드는 CPU 코드와 유사하지만 CUDA 함수를 사용하여 GPU에서 병렬 처리를 수행합니다. 시간 측정 결과, 벡터의 크기가 10,000,000 이상일 때부터 GPU ...2025.05.06
-
프로세스 개념을 설명하고 처리방식에 대해 설명하시오2025.01.171. 프로세스의 정의 프로세스는 실행 중인 프로그램을 의미하며, 프로그램의 코드와 프로그램 실행에 필요한 데이터 및 상태 정보를 포함합니다. 컴퓨터 시스템에서 프로세스는 독립적인 실행 단위로 간주되며, 각 프로세스는 고유한 주소 공간을 가지며 다른 프로세스와 분리된 환경에서 실행됩니다. 2. 프로세스 관리 기법 프로세스 관리 기법은 운영체제가 시스템 자원을 효율적으로 분배하고 각 프로세스가 원활하게 실행될 수 있도록 하는 데 중요한 역할을 합니다. 주요 프로세스 관리 기법으로는 스케줄링, 메모리 관리, 동기화와 통신이 있습니다. 3...2025.01.17
-
단편화와 배치전략에 대하여2025.01.181. 단편화 단편화란 컴퓨터 시스템에서 메모리나 저장장치 등의 자원이 작은 조각으로 분할되는 현상을 말한다. 내부 단편화와 외부 단편화 두 가지 종류가 있으며, 이를 해결하기 위해 다양한 배치 전략이 개발되었다. 2. 고정 분할 할당 기법 고정 분할 할당 기법은 메모리를 동일한 크기로 나누어 프로그램을 할당하는 방식이다. 빠른 할당이 가능하지만 내부 단편화 문제가 발생한다. 3. 가변 분할 할당 기법 가변 분할 할당 기법은 각 프로그램의 크기에 맞게 메모리를 동적으로 분할하는 방식이다. 내부 단편화 문제는 해결되지만 외부 단편화 문...2025.01.18
-
배열의 정의, 선언, 초기화 및 활용2025.05.051. 배열의 정의 배열은 C언어에서 연속적인 메모리 영역에 동일한 데이터 타입의 여러 요소를 저장할 수 있는 구조입니다. 배열을 사용하면 데이터를 더욱 구조화된 방식으로 저장하고 접근할 수 있습니다. 2. 1차원 배열 선언 1차원 배열을 선언하려면 데이터 타입, 배열 이름, 배열 크기를 지정해야 합니다. 예를 들어, int arr[5]는 크기가 5인 int형 1차원 배열을 선언하는 것입니다. 3. 배열 활용 사례 배열은 시계열 데이터 저장, 문자열 처리, 정렬 및 검색 알고리즘 구현, 행렬 및 벡터 연산 등 다양한 상황에서 활용됩니...2025.05.05
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
-
시스템프로그래밍(명령어 실행 4단계 및 논리주소와 물리주소)2025.01.031. 명령어(instruction) 명령어(instruction)란 컴퓨터가 직접 실행할 수 있는 프로그램의 최소 단위를 의미합니다. 명령어는 프로세서가 외부적으로 작동하는 '판독'과 '기록' 사이클, 기억장치에서 읽은 프로그램 명령어를 '실행시키는 4단계'로 구분해서 이해할 수 있습니다. 2. 명령어 실행 4단계 명령어 실행은 '명령어 인출 → 명령어 해독 → 데이터 인출 → 명령어 실행'의 4단계로 진행되며, 각 단계별 내용이 자세히 설명되어 있습니다. 3. 물리 주소와 논리 주소 메모리의 구조는 크게 물리 주소와 논리 주소 두...2025.01.03
-
운영체제의 메모리 관리2025.01.171. 메모리 메모리는 프로그램이 실행되고 데이터가 저장되는 공간이다. 물리적 메모리와 가상 메모리로 구분되며, 주소 지정 방식으로 페이징 기법과 세그먼테이션 기법이 있다. 물리적 메모리는 RAM으로 구성되고, 가상 메모리는 하드 디스크를 이용해 RAM처럼 사용할 수 있게 하는 기술이다. 2. 운영체제의 메모리 관리 운영체제는 메모리 상태 점검, 프로세스 할당 결정, 메모리 할당과 회수 방법 결정 등의 기능을 통해 메모리를 효율적으로 관리한다. 물리적 메모리 관리는 연속 할당 방식(고정 분할, 가변 분할)과 분산 할당 방식(페이징, ...2025.01.17
-
os 기출문제2025.01.201. Process Synchronization 1. 현재 count 변수의 값이 5이고, 두 프로세스 producer와 consumer가 각각 다음과 같이 (interleaved) 실행된다고 할 때, 마지막으로 저장되는 counter 변수의 값은 6입니다. 2. 다른 프로세스(또는 스레드)들과 공유하는 자원(변수, 파일 등)을 다루는 코드 영역을 일컫는 용어는 critical section입니다. 3. non-preemptive scheduling을 설명하는 말이 아닌 것은 2) The scheduler can interrupt ...2025.01.20
-
프로세스 개념을 설명하고 처리방식에 대해 설명하시오2025.01.271. 프로세스의 정의 프로세스는 실행 중인 프로그램을 나타내며, 프로그램의 코드뿐만 아니라 실행에 필요한 데이터와 상태 정보도 포함하는 독립적인 실행 단위입니다. 각 프로세스는 고유한 주소 공간을 가지며, 다른 프로세스와 분리된 환경에서 작동합니다. 프로세스는 여러 가지 상태를 가지며, 일반적으로 생성, 준비, 실행, 대기, 종료의 상태로 나뉩니다. 운영체제는 이러한 프로세스의 상태를 관리하고 전환하는 역할을 합니다. 2. 프로세스 관리 기법 프로세스 관리 기법은 운영체제가 시스템 자원을 효율적으로 분배하고, 여러 프로세스가 원활하...2025.01.27
-
운영체제의 실제 메모리 구성 및 관리 방식2025.01.241. 물리적 메모리 관리 운영체제는 한정된 물리적 메모리를 효율적으로 관리하기 위해 고정 분할 방식과 가변 분할 방식을 사용한다. 고정 분할 방식은 메모리를 고정된 크기로 나누어 할당하지만 비효율적일 수 있으며, 가변 분할 방식은 메모리를 동적으로 할당하여 낭비를 줄일 수 있지만 외부 단편화 문제가 발생할 수 있다. 운영체제는 압축 기법을 통해 단편화 문제를 해결한다. 2. 가상 메모리 운영체제는 가상 메모리 기법을 사용하여 물리적 메모리의 한계를 극복한다. 가상 메모리를 통해 프로그램이 필요한 만큼의 메모리를 제공할 수 있으며, ...2025.01.24