본문 바로가기

IT269

[운영체제] IPC(Inter-Process Communication) https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행하는 순간, 그 프로그램은 프로세스가 된다그리고 이 과claremont.tistory.com  ㅁ프로세스 간 통신(IPC, Inter-Process Communication): 두 개 이상의 프로세스가 서로 데이터를 교환할 수 있도록 하는 다양한 메커니즘과 기술각 프로세스는 독립된 메모리 공간을 가지고 있기 때문에, 서로 직접 데이터를 공유하지 못한다. 따라서 IPC는 이러한 .. 2024. 11. 6.
[UNIX/Linux] ep7++) 레코드 락킹(advisory locking) https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-ep4-1-Concurrency-Mutual-Exclusion-and-Synchronization [운영체제] ep4-1) Concurrency: Mutual Exclusion and Synchronizationㅁ동시성(Concurrency): 여러 작업이 짧은 시간 간격으로 번갈아 가며 수행됨으로써 동시에 처리되는 것처럼 보이게 만드는 것현대 OS는 멀티 프로그래밍, 멀티 프로세싱 등의 기법으로 동시성을 사claremont.tistory.comhttps://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-e.. 2024. 11. 6.
[ps java] binarySearch() 정석 코드 2가지 버전 https://claremont.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-ep2-%EC%82%AC%EC%A0%84dictionary 유일키 - 직접응용: 연" data-og-host="claremont.tistory.com" data-og-source-url="https://claremont.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-ep2-%EC%82%AC%EC%A0%84dictionary" data-og-url="https://claremont.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-ep2-%EC%82%AC%EC%A0%84dicti.. 2024. 11. 6.
[UNIX/Linux] ep9+) 파이프 함수 실습 hw1. pipe() 함수를 사용해 부모 프로세스와 자식 프로세스 간에 대화가 가능한 양방향 통신이 되도록 프로그램을 작성하시오(Example : parent-쓰기부터)char msg[256], inmsg[256]; close(fd1[0]);close(fd2[1]);while (1) {    fgets(msg, sizeof(msg) - 1, stdin);    write(fd1[1], msg, sizeof(msg) + 1);    read(fd2[0], msg, 255);} close (fd1[1]); close (fd2[0]);while (1) {    read(fd1[0], inmsg, 255);    fgets(inmsg, sizeof(inmsg) - 1, stdin);    write(fd2[1].. 2024. 11. 4.
CUDA + RAID 기반 데이터 분산 시뮬레이션 ㅁCPU: 적은 수의 강력한 ALU(산술 논리 장치)를 포함하여, 복잡한 작업을 빠르게 처리하는 데 최적화되어 있다. CPU는 제어 유닛과 캐시, DRAM을 통해 다양한 작업을 효과적으로 관리한다.ㅁGPU: 많은 수의 작은 코어(core)를 가지고 있어서, 병렬 연산을 통해 대량의 데이터를 동시에 처리하는 데 최적화되어 있다.   ㅁCUDA(Compute Unified Device Architecture): NVIDIA에서 개발한 병렬 컴퓨팅 플랫폼이자 프로그래밍 모델로, GPU(Graphics Processing Unit)를 활용하여 고성능 연산을 수행할 수 있게 하는 기술이다. 일반적으로 CPU만으로 수행하기 힘든 대규모 연산을 GPU의 수많은 코어를 통해 병렬 처리함으로써 성능을 크게 향상시킬 수 .. 2024. 10. 31.
[UNIX/Linux] ep9) 파이프 [ep9의 학습목표]1. 파이프를 이용한 IPC 기법2. 이름 없는 파이프를 이용한 통신 프로그램 작성3. 이름 있는 파이프를 이용한 통신 프로그램 작성 ㅁ파이프('|'): 두 프로세스 사이에서 한 방향으로 통신할 수 있도록 지원하는 것파이프는 이름 없는 파이프(익명 파이프)와 이름 있는 파이프로 구분된다 셸에서 파이프 기능은 한 명령의 표준 출력을 다음 명령에서 표준 입력으로 받아 수행하는 것을 의미한다cat test.c | more # 앞에 있는 명령인 cat test.c의 표준 출력을 다음 명령인 more의 표준 입력으로 사용 위 예를 실행하면 test.c를 화면 단위로 출력한다 ㅁ이름 없는 파이프(pipe)• 특별한 수식어 없이 그냥 파이프라고 하면 일반적으로 이름 없는 파이프(익명 파이프).. 2024. 10. 31.
[Java API] 정렬 메서드(sort) 종류와 차이점 https://claremont.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%A0%95%EB%A0%AC-%EC%A0%95%EB%A6%AC-%EB%B0%8F-%EC%84%A0%ED%83%9D-%EB%A7%A4%EB%89%B4%EC%96%BC [알고리즘] 정렬 정리 및 선택 매뉴얼ㅇ버블정렬 - 실무에서는 아예 사용하지 말자 "제자리 + stable" O(n^2) ㅇ선택정렬: 우선순위 큐 (무순 리스트로 구현) "제자리 + unstable" O(n^2): 느리다 - 소규모 입력에 적합 ㅇ삽입정렬: 우선순위 큐claremont.tistory.com먼저 위 포스트를 통해 정렬에 대한 기본적인 공부를 하고 오는 것을 추천한다 자바에서 Primitive T.. 2024. 10. 29.
[ps 팁] 이진 탐색 트리(BST) 순회에 관한 놀라운 사실 이진 탐색 트리(BST)에서 중위 순회를 하면 오름차순으로 정렬된 결과를 얻을 수 있다.....ㅎㅎ 2024. 10. 27.
[ps java] PriorityQueue() 사용법 ps에서 우선순위 큐는 최단거리 알고리즘(다익스트라 알고리즘)에 많이 사용되며, 구현 문제에도 사용될 수 있다최댓값 혹은 최솟값 꺼내서 처리한 뒤 다시 넣고.. 이렇게 반복하는 종류의 문제들에서 잘 쓰인다  ㅇPriorityQueue(): 입력 요소에 우선순위를 부여e.g. 입력[3, 1, 5, 2, 4] -> 출력[1, 2, 3, 4, 5] 기본 설정이 최소 힙(min-heap)으로 되어있기 때문에 오름차순으로 출력된다import java.util.PriorityQueue;public class PriorityQueueExample { public static void main(String[] args) { PriorityQueue pq = new PriorityQueue(); .. 2024. 10. 27.