본문 바로가기

전체 글228

스레드와 동시성 스레드(Thread)어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 방식을 멀티 스레드(MultiThread) 라고 한다. 프로세스 vs 스레드멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에 진행된다는 공통점을 가지고 있다. 하지만 멀티프로세스에서 각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리 멀티스레드는 프로세스 내의 메모리를 공유해 사용할 수 있다. 또한 프로세스 간의 전환 속도가 빠르다. 멀티스레드 단점각각의 스레드 중 어떤 것이 먼저 실행될지 그 순서를 알 수 없다. 예를 들어,두 스레드가 특.. 2025. 5. 13.
InnoDB Locking 이란 DataBase LockDataBase는 데이터를 영속적으로 저장하고 있는 시스템이다. 이런 시스템은 같은 자원에 대해서 동시에 접근 하는 경우가 생길 수 밖에 없다. 이럴 경우, 데이터가 오염될 수 있는데 그렇게 되지 않도록 데이터의 일관성과 무결성을 유지해야할 필요가 있다. 이럴 때 사용하는 공통적인 방법이 Lock 이라는 것이다. LockLock 이란 트랜잭션 처리의 순차성을 보장하기 위한 방법이다. Lock의 구현 방식과 세부적인 방법은 DBMS마다 다르기 때문에 DBMS를 효과적으로 이용하기 위해서는 DB의 Lock에 대한 이해가 필요하다. 트랜잭션이란더보기트랜잭션이란 DB의 나누어지지 않는 최소한의 처리 단위를 말한다. Lock의 방식Lock의 방식에는 크게 공유(Shared) Lock과 베.. 2025. 5. 12.
Index, Unique Index, Multi-Column Index 차이점 Index인덱스란 WHERE, JOIN, ORDER BY, GROUP BY 등에서 검색 속도를 높이기 위한 정렬된 검색용 자료 구조이다. Database index ⇢ https://en.wikipedia.org/wiki/Database_index Database index - WikipediaFrom Wikipedia, the free encyclopedia Data structure for query optimization in databases A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes .. 2025. 5. 9.
데이터베이스 PK 전략 정리 PK(Primary Key) 전략Primary Key (PK)는 테이블 내에서 각 행을 유일하게 식별하는데 사용되는 필드이다. PK는 데이터베이스에서 데이터를 정확하게 조회하고, 수정하며, 삭제하는데 매우 중요하다. 하지만, 특히 대용량 데이터 세트를 처리할 때 각 레코드에 고유한 값을 수동으로 할당하는 것이 실용적이지 않은 경우가 있다. 이 과정을 단순화 하기 위해 SQL 데이터베이스는 지정된 열에 대해 고유한 숫자 값을 자동으로 생성하는 자동 증가 기능을 제공한다. PK를 생성하는 방법은 여러 가지 있지만, 가장 흔히 사용하는 방법은 AUTO_INCREMENT와 UUID 가 있다.지금 설명하는 내용은 MySQL에 관한 PK 전략이다. AUTO_INCREMENTAUTO_INCREMENT 는 MySQL과.. 2025. 5. 9.
프로세스 관리 프로세스 관리운영체제는 자원을 프로세스에 할당하고, 프로세스가 정보를 공유와 교환을 가능하게 하며, 각 프로세스 자원을 다른 프로세스로부터 보호 하고, 동기화를 통해 협력을 가능하게 한다. 이러한 요구를 중족하기 위해 운영체제는 각 프로세스를 위한 자료 구조를 관리한다. 이를 통해, 프로세스의 상태와 자원 소유권을 기술할 수 있으며, 운영 체제는 각 프로세스를 효율적으로 감시하고 제어할 수 있다. 즉, 운영체제가 수행하는 핵심 기능 중 하나로, 시스템에서 실행 중인 모든 프로세스를 효율적으로 생성하고, 실행하고, 종료하며, 자원을 분배하고, 상태를 관리하는 것을 말한다. 주요기능기능설명프로세스 생성 및 종료새로운 프로세스 생성 (fork, exec), 작업 완료 후 종료 (exit)스케줄링CPU를 .. 2025. 5. 8.
운영체제(OS)의 일반적인 작동 원리 운영체제(OS)오퍼레이팅 시스템(operating system) 은 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다. OS는 컴퓨터 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공한다.최근에는 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저(가상 머신) 위에서 실행되기도 한다. 입출력과 메모리 할당과 같은 하드웨어 기능의 경우, 운영체제는 응용 프로그램과 컴퓨터 하드웨어 사이의 인터페이스(중재) 역할을 한다. 즉, 운영체제는 사용자의 명령과 프로그램이 하드웨어를 직접 제어하지 않고, OS를 통해 자원을 효율적이고 안전하게 사용할 수 있게 해준다. 운영체제의 주요 역할.. 2025. 5. 2.