
총 19개
-
쓰레드 구현 모델과 쓰레드 폴링에 대해 조사하시오.2025.01.171. 쓰레드 쓰레드는 프로그램 내에서 동시에 여러 작업을 처리하기 위한 실행 단위를 의미한다. 프로세스는 완전히 독립된 두 개의 프로그램의 실행을 위한 것이지만, 쓰레드는 하나의 프로그램 내에서 둘 이상의 실행을 위하기 때문에 독립시키는 구조가 필요하지 않다. 그래서 쓰레드를 이용하면 하나의 프로세스 내에서 여러 작업을 동시에 수행할 수 있으므로 프로그램의 성능과 효율성이 향상된다. 2. 쓰레드의 구현 모델 쓰레드는 크게 두 가지 방법으로 구현될 수 있다. 유저 레벨 쓰레드는 프로그램이 직접 쓰레드를 관리하는 방법으로 쓰레드를 구현...2025.01.17
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해보세요2025.01.221. 이중 패스 어셈블러 알고리즘 이중 패스 어셈블러 알고리즘은 프로그램을 처음부터 끝까지 소스 프로그램을 전체 스캐닝한 뒤 한 번 더 읽으며 전체 번역이 이루어지도록 하는 번역기입니다. 첫 번째 패스 단계에서는 기호표를 형성하고 두 번째 패스에서는 번역하며 목적 프로그램을 형성하는 방식으로 현재는 대부분 어셈블러가 이러한 방식을 채택하고 있습니다. 2. 패스 1 알고리즘 패스 1 알고리즘은 명령어의 크기, 형태 등을 나타내는 명령어 표를 참조하고 명령어의 상대 주소를 결정합니다. 또한, 기호표를 작성하고 기호 재배치 여부를 결정하...2025.01.22
-
네트워크 프로그래밍_파일전송 프로그램 작성하기2025.01.131. 네트워크 프로그래밍 이 프레젠테이션은 네트워크 프로그래밍에 대한 내용을 다루고 있습니다. 클라이언트-서버 모델을 사용하여 파일 전송 프로그램을 작성하는 방법을 설명하고 있습니다. 클라이언트 코드에서는 서버에 연결하고 파일을 전송하는 과정을 보여주며, 서버 코드에서는 클라이언트의 연결을 받아 파일을 저장하는 과정을 보여줍니다. 이를 통해 네트워크 프로그래밍의 기본적인 개념과 구현 방법을 이해할 수 있습니다. 2. 파일 전송 이 프레젠테이션에서는 클라이언트에서 서버로 파일을 전송하는 방법을 다루고 있습니다. 클라이언트 코드에서는 ...2025.01.13
-
이중 패스 어셈블러의 알고리즘에 대하여 정리해 보세요2025.01.181. 이중 패스 어셈블러 이중 패스 어셈블러는 소스 코드를 두 번 스캔하여 어셈블리 과정을 수행합니다. 첫 번째 패스에서는 레이블 정의를 찾아 기호 테이블에 추가하고, 두 번째 패스에서는 기호 테이블을 참조하여 실제 기계 코드로 변환합니다. 이를 통해 데이터 기호의 순방향 참조 문제를 해결할 수 있습니다. 2. 원 패스 어셈블러와의 비교 원 패스 어셈블러는 소스 코드를 한 번만 스캔하여 즉시 기계 코드를 생성하지만, 데이터 기호의 순방향 참조 문제를 해결하기 어렵습니다. 이에 비해 이중 패스 어셈블러는 두 번의 스캔을 통해 이 문제...2025.01.18
-
시스템프로그래밍(명령어 실행 4단계 및 논리주소와 물리주소)2025.01.031. 명령어(instruction) 명령어(instruction)란 컴퓨터가 직접 실행할 수 있는 프로그램의 최소 단위를 의미합니다. 명령어는 프로세서가 외부적으로 작동하는 '판독'과 '기록' 사이클, 기억장치에서 읽은 프로그램 명령어를 '실행시키는 4단계'로 구분해서 이해할 수 있습니다. 2. 명령어 실행 4단계 명령어 실행은 '명령어 인출 → 명령어 해독 → 데이터 인출 → 명령어 실행'의 4단계로 진행되며, 각 단계별 내용이 자세히 설명되어 있습니다. 3. 물리 주소와 논리 주소 메모리의 구조는 크게 물리 주소와 논리 주소 두...2025.01.03
-
어셈블리어의 특징과 명령어 형식2025.01.031. 어셈블리어 어셈블리어는 컴퓨터 프로그래밍 언어의 한 종류로 저급언어에 속하는 언어입니다. 어셈블리어는 어셈블러라는 프로그램을 사용하기 위해서 쓰는 프로그램 언어로, 기계어와 거의 일대일로 이루어집니다. 어셈블리어는 하드웨어에 직접 접근해서 프로그램을 처리하며, 명령의 실행 속도가 가장 빠르지만 세밀하게 프로그래밍해야 한다는 단점이 있습니다. 하지만 하드웨어를 효율적으로 제어할 수 있기 때문에 많은 사람들이 이 언어를 배웁니다. 2. 어셈블리어 명령어 형식 어셈블리어의 명령어 형식은 다음과 같습니다. Label은 명령어나 데이터...2025.01.03
-
유닉스에 대한 구조와 특징에 대해 설명하시오2025.01.281. 유닉스 구조 개요 유닉스는 구조가 단순하면서도 효율적인 운영체제로 설계되었습니다. 유닉스의 구조는 크게 커널, 쉘, 응용 프로그램으로 구분할 수 있습니다. 커널은 운영체제의 핵심 부분으로, 하드웨어 자원을 관리하고 시스템 호출을 처리하며, 다양한 장치와의 상호작용을 중재하는 역할을 합니다. 쉘은 사용자가 시스템과 상호작용할 수 있도록 하는 인터페이스이며, 응용 프로그램은 사용자가 실제로 작업을 수행하는 소프트웨어입니다. 2. 커널과 쉘의 역할 유닉스의 커널은 시스템 자원의 효율적 관리를 담당하며, 메모리 관리, 프로세스 스케줄...2025.01.28
-
[A+레포트] 어셈블리어의 특징과 명령어 형식을 설명하시오.2025.01.131. 어셈블리어의 개념 및 특징 어셈블리어는 컴퓨터 아키텍처에 밀접하게 연관된 저수준 프로그래밍 언어입니다. 이는 기계어 코드에 대응하는 기호적인 명령어를 사용하여 프로그래밍을 수행합니다. 어셈블리어의 가장 큰 특징은 기계어와의 1:1 대응 관계에 있습니다. 이로 인해 프로그래머는 컴퓨터의 작동 원리와 메모리 구조를 정확히 이해하고, 이를 바탕으로 최적화된 코드를 작성할 수 있습니다. 그러나 어셈블리어의 사용은 코드의 가독성이 낮고, 작성 및 유지 보수가 어렵다는 단점이 있습니다. 2. 어셈블리어의 명령어 형식과 구조 어셈블리어의 ...2025.01.13
-
어셈블리언어(시스템프로그래밍) 과제-4 (고급 언어 구조와 정수 연산을 수행하는 프로그램)2025.05.111. 메모리 변수 사용 프로그램 메모리 변수를 사용하는 간단한 프로그램을 작성하여 Visual Studio 통합개발환경에서 어셈블러를 사용할 수 있는 프로젝트를 만들고 실행해보았습니다. 디버거 사용법도 연습하였습니다. 코드를 통해 변수 val1과 val2의 메모리 주소와 저장된 값을 확인할 수 있었고, 레지스터 eax에 두 값의 합이 저장된 것을 확인할 수 있었습니다. 2. if-else 구문 구현 if-else 구문을 구현하는 프로그램을 작성하였습니다. ecx와 edx 레지스터에 입력받은 값을 비교하여 조건부 점프를 통해 x 변수...2025.05.11
-
8086 어셈블리어의 명령어에 대한 조사2025.04.281. 컴퓨터의 구성 컴퓨터는 하드웨어와 소프트웨어로 구성되어 있으며, 하드웨어는 중앙처리장치, 기억장치, 입출력장치로, 소프트웨어는 시스템소프트웨어와 응용소프트웨어로 구성되어 있다. 컴퓨터는 데이터를 받아 제어장치와 연산장치를 통해 변환시킨 후 출력장치를 통해 출력하고, 출력 내용을 주기억장치에 저장하는 기능을 한다. 2. 컴퓨터 언어 시스템소프트웨어는 어셈블러, 매크로 프로세서, 링커, 로더, 트랜스레이터, 운영체제 등의 진화 과정을 거쳐왔으며, 어셈블리어는 기계어에 가장 가까운 저급 언어로서 기계어와 1대1 대응이 가능한 프로그...2025.04.28