총 13개
-
Kernel PCA & Spectral Clustering2025.01.131. Kernel PCA Kernel PCA는 편향이 큰 실세계의 데이터를 분석하는데 어려움이 있고, outlier data에 매우 민감한 linear PCA의 단점을 보완하기 위해 kernel trick을 수행한다. 하지만 분산이 가장 큰 축으로 데이터들을 정사영 시킬 뿐, clustering algorithm을 적용하지는 않는다. 2. Spectral Clustering Spectral Clustering은 군집화를 더 쉽게 하기 위해서 유사도 행렬 A를 통해 데이터들을 변형된 공간에 넣고, 후에 clustering algori...2025.01.13
-
Pintos Project 1 한국어 설명서 (design report) - Alarm clock, Priority Scheduling, Advanced Scheduling2025.01.161. thread Pintos에서는 thread creation과 thread completion, Round-Robin 방식의 thread switching(simple scheduler)을 이미 구현해 두었다. kernel thread의 struct는 'threads/thread.h'에 선언되어 있으며, thread structure은 4kB page를 차지한다. struct thread는 page의 시작부분부터 공간을 차지하고, 나머지 부분은 thread의 stack을 위해 이용된다. 따라서 kernel stack을 위한 공간...2025.01.16
-
운영체제 나초스 NachOS 과제 KThread와 Kernel 분석2025.01.221. KThread.fork() KThread.fork() 메소드는 새로운 스레드를 생성한 뒤, 조건을 통해 스레드 생성을 위한 준비와 검증을 마치고서 새로운 스레드를 실행 대기열에 넣어 다른 스레드가 실행될 수 있도록 준비상태로 만든다. 2. KThread.runThread() KThread.runThread() 메소드는 스레드가 시작하고 종료될 때까지의 주요 동작을 관리한다. 스레드 시작 시 초기화 작업, 스레드 실행, 스레드 종료 처리 등의 기능을 수행한다. 3. KThread.yield() KThread.yield() 메소드...2025.01.22
-
Pintos Project 2 한국어 설명서 (design report) - User Program, System Call2025.01.161. Process Execution Procedure 프로젝트 2에서는 user program을 실행시키는 것이 주요 내용이다. main() 함수에서 command line을 읽어들이고 parsing한 후 run_action() 함수를 통해 실행할 프로그램을 process_execute()로 전달한다. process_execute()는 thread_create()를 호출하여 새로운 kernel thread를 생성하고, 이 thread는 start_process()를 실행한다. start_process()에서는 load() 함수를 ...2025.01.16
-
신호및시스템(건국대) 4주차과제2025.01.171. Convolution Animation Convolution 연산은 임펄스 응답 h(t)와 입력 신호 x(t)를 이용하여 출력 신호 y(t)를 구하는 방법입니다. 이를 위해 매트랩에서 x(t)와 h(t)의 그래프를 각각 나타내고, 이를 곱한 값을 음의 무한대부터 양의 무한대까지 적분하여 y(t)를 구할 수 있습니다. 이를 통해 t가 변함에 따라 x(t), h(t), y(t)의 그래프가 실시간으로 어떻게 변화하는지 확인할 수 있습니다. 2. Exercise 4-1 Exercise 4-1에서는 cos 함수와 sin 함수를 이용하여...2025.01.17
-
Data Similarity and Distance를 측정하는 measure2025.01.131. Text Similarity Measures 문서의 실제 길이에 민감하지 않은 cosine measure는 두 문서 간의 각도를 계산하여 유사도를 측정합니다. 단순한 특성 간의 raw frequencies를 사용하지만, global statistical measures를 사용하여 유사도 측정을 향상시킬 수 있습니다. 또한 binary 다차원 데이터의 경우 유사도를 다른 방식으로 나타낼 수 있습니다. 2. Temporal Similarity Measures 시간축 데이터는 시간에 따른 single contextual attrib...2025.01.13
-
쓰레드 구현 모델과 쓰레드 폴링에 대해 조사하시오2025.05.151. 쓰레드 구현 모델 쓰레드 구현 모델은 운영체제에서 사용되는 것으로 사용자 수준, 커널 수준, 두 수준을 혼합한 방식이 있다. 사용자 수준 쓰레드는 커널 쓰레드를 지원하지 않는 운영체제에서 사용되며 다대일 쓰레드 매핑이다. 커널 수준 쓰레드는 사용자 수준 쓰레드가 가지는 한계를 해결하기 위해서 사용되기 시작했으며 일대일 쓰레드 매핑을 지원한다. 혼합형 쓰레드는 여러 개의 사용자 수준 쓰레드에 여러 개의 커널 쓰레드가 매핑되는 다대다 쓰레드 모델이다. 2. 쓰레드 폴링 쓰레드 폴링은 혼합형 쓰레드에서 사용되며 과부하를 줄여 프로그...2025.05.15
-
Pintos Project 2 final report - User Program, System Call2025.01.161. Process termination message 프로세스가 종료될 때마다 프로세스 종료 메시지를 출력해야 한다. 종료 메시지의 출력 예시와 형식은 printf('%s: exit(%d) ', variable_1, variable_2)와 같다. variable_1은 프로세스의 이름이고, variable_2는 exit 코드이다. 2. Argument passing 사용자가 입력한 명령어는 프로그램 이름과 함께 다양한 옵션들이 붙는데, 이를 모두 인식할 수 있도록 구현해야 한다. 현재 Pintos는 전체 명령어를 하나의 프로그램 이...2025.01.16
-
Pintos Project 3 한국어 설명서 (design report) - Virtual Memory, Frame table2025.01.161. Virtual Memory Virtual memory는 process마다 독립적으로 가지는 주소 공간으로, 필요한 데이터는 virtual memory에서 physical memory로 load해오고 필요없는 데이터는 virtual memory (예: 디스크)에 저장함으로써 physical memory 공간을 확보합니다. 각 process는 virtual address와 physical address를 mapping하는 table을 가지고 있어 virtual address로 physical address를 찾아갈 수 있습니다. ...2025.01.16
-
운영체제의 정의와, 발전과정2025.05.151. 운영체제의 정의 운영체제는 사용자의 하드웨어와 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어입니다. 운영체제는 하드웨어를 관리하고 응용 소프트웨어를 실행하기 위해 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공합니다. 최근에는 가상화 기술의 발전으로 실제 하드웨어가 아닌 하이퍼바이저(가상 머신) 위에서 실행되기도 합니다. 운영체제는 입출력, 메모리 할당 등의 하드웨어 기능을 응용 프로그램과 컴퓨터 하드웨어 사이에서 중재하는 역할을 합니다. 2. 운영체제의 구성요소 운영체제는 크게 커널(...2025.05.15
