총 70개
-
컴퓨터개론_컴퓨터 발전의 역사를 간략하게 기술하고, 각 세대별 컴퓨터의 특성을 기술하시오2025.05.021. 컴퓨터의 역사 인류 최초의 컴퓨터는 전기, 다른 동력 없이 손으로 인간이 직접 조작을 하여서 계산을 하는 수동식 계산기라고 볼 수 있었다. 최초의 수동식 계산기는 주판이며, 1980년대까지 사용이 되었다. 오늘날의 컴퓨터는 인간이 도구가 없이 복잡한 계산을 하면 힘들기에 실수를 하기 쉽지만 컴퓨터를 사용하면 평소에 할 수 없는 양의 계산을 빠르게 할 수 있어 사용이 되고 있다. 따라서 오랜 역사 끝에 컴퓨터는 위와 같은 아이디어 끝에 빠르게 계산을 하게 도와주는 도구가 되었다. 2. 1세대 컴퓨터 회로소자로 진공관을 사용하고,...2025.05.02
-
분할 정복 알고리즘의 특징과 적용 시 주의사항2025.01.151. 분할 정복 알고리즘 분할 정복 알고리즘은 큰 문제를 작은 문제로 분할하여 각각을 해결하고, 그 결과를 이용해 전체 문제를 해결하는 알고리즘입니다. 이 알고리즘은 재귀적인 방법으로 구현되며, 대표적인 예로는 이진 탐색, 병합 정렬, 퀵 정렬 등이 있습니다. 분할 정복 알고리즘은 빠른 속도, 쉬운 병렬화, 유연성 등의 장점이 있지만, 추가적인 메모리 요구, 최악의 경우 시간 복잡도, 구현의 복잡성 등의 단점도 있습니다. 2. 분할 정복 알고리즘의 특징 분할 정복 알고리즘의 주요 특징은 다음과 같습니다. 첫째, 분할된 문제들은 크기...2025.01.15
-
운영체제_임계영역과 임계 영역을 해결하기 위한 방법2025.01.151. 임계영역 임계영역(critical section)이란 여러 프로세스나 스레드가 접근해서 값을 변경할 수 있는 공유 데이터의 영역을 뜻한다. 일반 동기화 객체와 다르게 임계영역은 유저 메모리 영역에 존재하는 단순한 구조체로 일반 동기화 객체보다 빠르고 효율적이라는 특성을 가진다. 2. 임계영역 문제와 해결 조건 임계영역의 동기화 문제는 여러 프로세스나 스레드가 동일 데이터에 접근하여 작업하는 경우 발생한다. 이러한 문제를 해결하기 위해서는 상호 배제, 진행, 한정대기의 3가지 조건을 만족해야 한다. 3. 피터슨 알고리즘 피터슨 ...2025.01.15
-
순차 자료구조와 연결 자료구조의 비교 및 구현2025.11.161. 순차 자료구조 순차 자료구조는 데이터를 메모리상의 연속적인 위치에 저장하는 구조로, 배열 형태로 저장되며 각 데이터 요소는 고유한 인덱스를 통해 식별됩니다. 인덱스를 통한 직접 접근(무작위 접근)이 가능하여 데이터 접근 속도가 빠르고, 메모리 단편화를 최소화할 수 있습니다. 하지만 중간에 데이터를 삽입하거나 삭제할 때 나머지 데이터를 이동시켜야 하므로 비효율적입니다. 데이터 크기가 고정되어 있거나 변경이 거의 없는 상황에서 효과적이며, 빠른 접근이 필요한 경우에 적합합니다. 2. 연결 자료구조 연결 자료구조는 데이터 요소가 메...2025.11.16
-
쓰레드 구현 모델과 쓰레드 풀링에 대한 조사2025.01.171. 커널 레벨 쓰레드 커널 레벨 쓰레드는 운영체제가 지원하는 쓰레드 기능으로 구현되며, 커널이 쓰레드의 생성 및 스케줄링 등을 관리한다. 각 쓰레드는 독립적으로 커널의 스케줄링을 받으며, 쓰레드 간의 전환도 커널에 의해 이루어진다. 멀티프로세싱 환경에서 커널은 여러 개의 쓰레드를 각각 다른 프로세스에 할당할 수 있다. 하지만 스케줄링과 동기화를 위해 시스템콜을 하는 데 오래 걸리며, 커널 모드 전환이 필요해 성능 저하가 발생할 수 있다. 2. 사용자 레벨 쓰레드 사용자 레벨 쓰레드는 커널의 도움 없이 사용자 공간에서 직접 관리된다...2025.01.17
-
분할 정복 알고리즘의 특징과 적용 사례2025.01.161. 분할 정복 알고리즘의 특징 분할 정복 알고리즘은 하향식 접근 방법으로 주어진 문제를 여러 하위 문제로 나누어 해결합니다. 이때 문제를 더 이상 나눌 수 없을 때까지 나누고 동일한 알고리즘을 적용하여 해를 계산하고 이 해를 원래 문제에 조합합니다. 크고 거대한 문제를 나누어 용이하게 풀어낸 다음, 다시 조합하여 해결하는 개념으로 볼 수 있습니다. 주로 자신을 호출하면서 해결하는 재귀적 구조를 가진 알고리즘에서 많이 사용되며, 문제를 독립적인 관계로 나누기 때문에 병렬적으로 문제를 해결하는 데 큰 강점이 있습니다. 2. 분할 정복...2025.01.16
-
학습러닝, 머신러닝 분석 레포트2025.05.051. 학습(learning) 학습(learning)이란 데이터를 이용하여 모델(model)을 학습시키는 과정을 말합니다. 이 과정에서 모델은 입력 데이터(input)와 출력 데이터(output)의 관계를 학습하게 되는데, 이를 통해 새로운 입력 데이터가 주어졌을 때 모델은 예측 결과를 출력할 수 있게 됩니다. 2. 블랙박스(black box) 블랙박스(black box)란 모델이 내부에서 어떠한 일이 일어나는지 알 수 없는 상황을 말합니다. 따라서 모델이 학습하는 과정에서 입력 데이터와 출력 데이터만을 이용하여 내부의 동작 원리를 ...2025.05.05
-
쓰레드 구현 모델과 쓰레드 폴링에 대해 조사하시오.2025.01.171. 쓰레드 쓰레드는 프로그램 내에서 동시에 여러 작업을 처리하기 위한 실행 단위를 의미한다. 프로세스는 완전히 독립된 두 개의 프로그램의 실행을 위한 것이지만, 쓰레드는 하나의 프로그램 내에서 둘 이상의 실행을 위하기 때문에 독립시키는 구조가 필요하지 않다. 그래서 쓰레드를 이용하면 하나의 프로세스 내에서 여러 작업을 동시에 수행할 수 있으므로 프로그램의 성능과 효율성이 향상된다. 2. 쓰레드의 구현 모델 쓰레드는 크게 두 가지 방법으로 구현될 수 있다. 유저 레벨 쓰레드는 프로그램이 직접 쓰레드를 관리하는 방법으로 쓰레드를 구현...2025.01.17
-
쓰레드 구현 모델과 쓰레드 폴링에 대해 조사하시오2025.05.151. 쓰레드 구현 모델 쓰레드 구현 모델은 운영체제에서 사용되는 것으로 사용자 수준, 커널 수준, 두 수준을 혼합한 방식이 있다. 사용자 수준 쓰레드는 커널 쓰레드를 지원하지 않는 운영체제에서 사용되며 다대일 쓰레드 매핑이다. 커널 수준 쓰레드는 사용자 수준 쓰레드가 가지는 한계를 해결하기 위해서 사용되기 시작했으며 일대일 쓰레드 매핑을 지원한다. 혼합형 쓰레드는 여러 개의 사용자 수준 쓰레드에 여러 개의 커널 쓰레드가 매핑되는 다대다 쓰레드 모델이다. 2. 쓰레드 폴링 쓰레드 폴링은 혼합형 쓰레드에서 사용되며 과부하를 줄여 프로그...2025.05.15
-
운영체제의 임계영역과 해결 방법2025.11.171. 임계영역(Critical Section) 임계영역은 여러 스레드 또는 프로세스가 동시에 공유 자원에 접근할 때 이를 제어하기 위한 코드 영역입니다. 한 번에 오직 하나의 스레드나 프로세스만이 이 영역을 접근할 수 있도록 보장하여 자원의 일관성을 유지하고 경쟁 상태를 방지합니다. 동기화 메커니즘인 세마포어나 뮤텍스 같은 도구를 사용하여 제어되며, 운영체제 수준에서 제공됩니다. 2. 임계영역 해결의 세 가지 조건 상호 배제(Mutual Exclusion)는 임계영역에 한 프로세스가 있을 때 다른 프로세스들의 진입을 금지합니다. 진...2025.11.17
