본문 바로가기
반응형

CODE41

[운영체제]캐싱이 성능에 끼치는 영향 캐싱이란? 컴퓨팅에서 캐시는 일반적으로 일시적인 특징이 있는 데이터 하위 집합을 저장하는 고속 데이터 스토리지 계층입니다. 따라서 이후에 해당 데이터에 대한 요청이 있을 경우 데이터의 기본 스토리지 위치에 액세스할 때보다 더 빠르게 요청을 처리할 수 있습니다. 캐싱을 사용하면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있습니다. (aws 출저) 캐싱이 성능에 미치는 주요한 영향 캐싱(Caching)은 컴퓨터 시스템에서 매우 중요한 역할을 수행하며, 시스템 성능에 다음과 같은 방식으로 영향을 미칩니다: 속도 향상: 캐싱은 자주 사용되는 데이터나 명령어를 빠르게 접근할 수 있는 메모리(캐시)에 저장합니다. 이는 데이터에 접근하는 시간을 단축시켜 시스템의 속도를 높입니다. 예를 들어, CPU 캐.. 2023. 11. 18.
[운영체제] Multi thread와 multi process Multi-threading 정의 **멀티 스레딩(Multi-threading)**은 하나의 프로세스 내에서 여러 스레드가 동시에 작업을 수행하는 것을 의미합니다. 스레드는 프로세스의 실행 단위로, 프로세스 내의 메모리와 자원을 공유하며 독립적으로 실행됩니다. 멀티 스레딩의 장점은 다음과 같습니다: 자원의 효율적 사용: 스레드 간 메모리와 자원을 공유하기 때문에, 프로세스를 여러 개 생성하는 것보다 자원을 더 효율적으로 사용할 수 있습니다. 응답성 향상: 한 스레드가 블록되어도 다른 스레드는 계속 작업을 수행할 수 있어, 응용 프로그램의 응답성이 향상됩니다. 병렬 처리 강화: 멀티코어 프로세서에서 각 코어에 다른 스레드를 할당하여 병렬 처리 능력을 극대화할 수 있습니다. Multi-process VS M.. 2023. 11. 17.
[운영체제] hashtable의 충돌이 발생한다면? hashtable(해시테이블) 정의 먼저, 해시테이블의 정의에 대해서 알아보겠습니다. 해시테이블(Hash Table)은 키(Key)를 값(Value)에 매핑하여 데이터를 저장하는 자료 구조입니다. 이 구조는 효율적인 검색, 삽입, 삭제 작업을 위해 사용됩니다. 해시테이블에서 충돌 발생시? 해시테이블에서 충돌(Collision)이 발생하면, 두 개 이상의 키가 동일한 해시 값을 가지게 되어 같은 위치에 저장될 상황이 발생합니다. 체이닝(Chaining): 충돌이 발생한 각 해시 버킷에 대해 연결 리스트를 사용하여 모든 항목을 저장합니다. 충돌이 발생하면 해당 버킷의 리스트에 항목을 추가합니다. 오픈 어드레싱(Open Addressing): 충돌이 발생하면 다른 버킷에 항목을 저장합니다. 이 방법에는 여러 .. 2023. 11. 16.
[네트워크]TCP vs UDP (모니터링 시스템) TCP TCP (Transmission Control Protocol): 신뢰성: TCP는 데이터가 목적지에 정확하게 도착했는지 확인합니다. 데이터가 손실되거나 오류가 발생하면 재전송을 요청합니다. 순서 보장: TCP는 데이터 패킷이 전송된 순서대로 도착하도록 보장합니다. 연결 지향적: TCP는 데이터 전송을 시작하기 전에 송신자와 수신자 간에 '핸드셰이크' 과정을 통해 연결을 설정합니다. 웹 페이지 로딩, 이메일, 파일 전송 등 신뢰성이 중요한 경우 사용됩니다. UDP UDP (User Datagram Protocol): 비연결성: UDP는 연결을 설정하지 않고 데이터를 바로 전송합니다. 이로 인해 TCP보다 빠릅니다. 신뢰성 부족: UDP는 데이터가 손실되거나 오류가 발생해도 재전송을 하지 않습니다... 2023. 11. 11.
[자료구조] 퀵정렬(Quick Sort)이란? 퀵정렬(Quick Sort)은 분할 정복(divide and conquer) 알고리즘의 한 예로, 평균적인 경우 매우 빠른 실행 시간을 자랑하는 정렬 방식입니다. 퀵정렬의 정의 피벗 선택(Pivot Selection): 배열에서 하나의 요소를 선택합니다. 이 요소를 피벗(pivot)이라고 합니다. 분할(Partitioning): 배열을 피벗을 기준으로 재배치하여, 피벗의 왼쪽에는 피벗보다 작은 모든 요소들이 오고, 피벗의 오른쪽에는 피벗보다 큰 모든 요소들이 오도록 합니다. 재귀 호출(Recursive Call): 피벗을 중심으로 나눈 두 부분 배열에 대해, 이 과정을 재귀적으로 반복합니다. 종료 조건(Base Case): 부분 배열의 크기가 1이하가 되면 더 이상 정렬을 수행할 필요가 없습니다. 퀵정렬.. 2023. 11. 4.
[자료구조] Queue vs priority queue 오늘은 Queue와 priority queue를 알아보겠습니다. 큐(Queue) 큐는말 그대로 줄을 서는 것과 같습니다. 예를 들어, 은행에 가서 번호표를 뽑고, 번호 순서대로 창구에서 업무를 보는 것을 생각해보세요. 먼저 온 사람이 먼저 업무를 보는 '선입선출(FIFO: First-In-First-Out)' 원칙을 따릅니다. 이렇게 줄을 선 순서대로 처리하는 구조가 바로 큐입니다. 우선순위 큐(Priority Queue) 우선순위 큐는 이름에서 알 수 있듯이, 각각의 항목이 어떤 '우선순위'를 가지고 있고, 이 우선순위에 따라 처리됩니다. 응급실을 예로 들어보겠습니다. 응급실에는 많은 환자들이 있지만, 모든 환자가 동일한 치료를 받는 것은 아닙니다. 중상을 입은 환자는 가벼운 상처를 입은 환자보다 먼저.. 2023. 11. 2.
반응형