cs

·cs
1. 캐시란??캐시는 데이터를 임시로 저장하여 빠르게 제공하는 하드웨어 또는 소프트웨어 구성 요소이다. 주로 성능 최적화와 시스템 부하 감소를 위해 사용되며, 데이터베이스 조회나 네트워크 요청과 같은 반복적인 작업의 속도를 개선하는 역할을 한다. 예를 들어, 웹 애플리케이션에서 자주 조회되는 데이터를 캐시에 저장하면, 동일한 요청이 발생할 때 데이터베이스를 거치지 않고 빠르게 응답할 수 있다.웹 캐시: 웹 페이지나 API 응답을 저장하여 속도를 향상시키고 서버 부하를 줄인다.데이터베이스 캐시: 자주 사용되는 쿼리 결과를 저장하여 성능을 최적화한다.파일 시스템 캐시: 파일 읽기 및 쓰기 작업을 가속화한다.CPU 캐시: 프로세서 내에서 자주 사용하는 명령어나 데이터를 저장하여 실행 속도를 높인다. 2. 캐시..
·cs
[1] 해시테이블 (Hash Table) ?? 해시 테이블은 Key, Value 형테로 데이터를 저장하는 자료구조이며, 평균 시간 복잡도가 O(1) 인 만큼 빠른 검색 속도를 제공한다. 해시 테이블이 빠른 속도를 제공하는 이유는 해시함수(hash function) 와 해시 테이블(hash table)의 버킷(bucket) 덕분이다. 해시 함수(hash function) 은 Key 값을 해시(Hash) 로 변환해주는 함수를 말하고, 버킷(bucket) 은 해시 테이블의 값을 저장하는 공간이다. 2. 해시테이블 동작원리Key 값을 해시 함수(Hash Function) 을 거쳐 해시 값(Hash) 을 변환하여 해시테이블의 특정 버킷의 저장할 인덱스를 설정하고 Key, Value, Hash 와 같은 값들을 저장..
·cs
1. CPU, Process, Memory(1) CPU, Process, Memory 프로세스(Process) 는 컴퓨터에서 실행 중인 프로그램을 말하며 각 프로세스는 독립된 메모리(Memory) 공간을 할당받아 실행되기 위해 대기하고 있다. 프로세스는 명령어와 데이터 집합을 가지고 있는데, 이 때 프로세스의 명령어를 CPU(Central Process Unit) 에서 실행시킨다. (2) I/O (Input/Output) 프로세스 는 CPU 연산 외에도 네트워크 또는 입출력 장치를 통해 데이터를 주고 받는다. 이와 같은 행위를 I/O(Input/Output) 라고 한다. I/O 는 외부에서 응답이 완료될 때까지 기다리는 blocking I/O, 응답이 올 때까지 기다리지 않고 다른 작업을 하는 Non-B..
·cs
1. 쓰레드 타입 (Thread Type)[1] 싱글-코어, 싱글 쓰레드(single-core,single-thread) 예전의 CPU 는 하나의 코어와 하나의 물리 쓰레드(H/W thread) 를 매핑해 관리했다. 하지만 프로세스의 동기 작업으로 인해 쓰레드가 대기하거나 프로그램을 메모리에 데이터를 적재하는 시간에는 CPU core 를 활용하지 못하는 문제가 있었다. 이와 같은 문제를 개선하고자 도입된 방법이 하이퍼 쓰레드(hyper thread) 이다. 하이퍼 쓰레드(hyper thread) 는 하나의 코어에 두 개의 물리 쓰레드(H/W thread) 를 할당해 core 의 효율을 높히는 방법이 도입된다.  [2] 하드웨어 쓰레드(hardware thread)물리 쓰레드(H/W thread) 는 OS..
·cs
1.  스왑 영역(swap area) 스왑 영역이 도입되기 이전에는 한정된 물리 메모리 공간으로 인해 많은 프로세스를 관리할 수 없었다. 이를 해결하기 위한 방법으로 보조기억장치 공간을 활용하는 방법이었고 이 공간을 스왑영역(swap area) 이라 부른다. 스왑영역은 사용하지 않는 프로세스를 보조기억장치 일부 영역에 임시로 저장하는 공간이며, 오랜 기간 사용하지 않는 프로세스는 스왑 아웃(swap out) 하여 보조기억장치로 프로세스 정보를 보내고, 프로세스 정보를 가져올 경우 스왑 인(swap in) 하여 메모리(RAM) 로 프로세스 정보를 가져온다. 스왑 영역을 활용하면 운영체제(OS)가 한정된 물리 메모리 공간 보다 더욱 많은 프로세스를 관리할 수 있어 더욱 많은 프로세스의 동시 실행이 가능하다...