본문 바로가기

CS2

[OS] 스레드(Thread) 개념과 특징, 프로세스 vs 스레드, 멀티 스레드(Multithreaded Programming) 스레드(thread)란? 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. ● 프로세스(process)에서 실행 단위(execution state)를 분리 시킨 개념 - execution state : PC, SP, registers, etc. ● 스레드는 같은 주소 공간(address space)를 공유(share)한다. - Code, Global variables, Heap, Opened files ● 각각의 스레드가 가지고 있는 것 - PC&SP 를 포함한 레지스.. 2023. 2. 22.
[DB] 인메모리 데이터베이스, 트랜잭션의 특징 (ACID) 인메모리 데이터베이스란 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스 디스크 검색보다 자료 접근이 빠른 것이 장점 영구 데이터베이스와 인메모리 데이터베이스 영구 데이터베이스 실제 메모리에 데이터를 유지하므로 데이터베이스 서버가 반송 되더라도 다시 사용 가능 디스크에 저장된 데이터를 대상으로 쿼리를 수행 Oracle, Mysql, Postgres 등 => Mysql, MariaDB는 MEMORY 엔진을 이용하면 인메모리 DB로 사용 가능 인메모리 데이터베이스 시스템 메모리에 데이터가 저장되며 프로그램을 닫으면 데이터가 손실됨(휘발성) 메모리상에 색인(인덱스)을 넣어 필요한 모든 정보를 메모리상의 색인(인덱스)을 통해 빠르게 검색 서버가 꺼져서 날아가도 상관 없는 임시 데이터에 주로 쓰.. 2022. 7. 28.