분류 전체보기 476

[운영체제] 프로세스 통신 구현

물론이죠! 전체적으로 프로세스 간 통신(IPC, Inter-Process Communication)과 관련된 내용을 다루고 있는 것 같아요. 흐름을 유지하면서 좀 더 명확하고 자연스럽게 정리해드릴게요:공유 메모리(shared memory) 객체는, 해당 이름을 가진 객체가 존재하지 않을 경우 새로 생성되며, 읽기와 쓰기가 모두 가능한 형태로 생성됩니다. 이때, 공유 메모리 객체의 접근 권한은 0666으로 설정되어, 모든 사용자에게 읽기 및 쓰기 권한을 부여합니다.이러한 공유 메모리는 파일 디스크립터(file descriptor)를 통해 접근하며, 이는 시스템 콜(system call)의 반환값으로 할당됩니다. 사용자 애플리케이션에서는 직접 하드웨어나 커널을 제어할 수 없기 때문에, 시스템 콜을 통해 커널..

[데이터베이스] 트랜잭션과 개념

트랜잭션(Transaction)이란?트랜잭션은 DBMS에서 데이터를 다루는 논리적 작업 단위입니다.단일 SQL문일 수도 있고, 여러 개의 SQL문이 순차적으로 실행되는 복합적인 작업일 수도 있습니다.트랜잭션은 다음과 같은 역할을 합니다:복구 단위: 오류 발생 시 이전 상태로 되돌릴 수 있음분리 단위: 여러 트랜잭션이 동시에 동일 데이터를 다룰 때 독립성 보장원자성 보장: 전체 작업이 전부 수행되거나 전혀 수행되지 않아야 함BEGIN TRANSACTION A 계좌 10000 인출 (UPDATE) B 계좌 10000 입금 (UPDATE)COMMIT TRANSACTION시작과 끝을 말합니다.  트랙잭션의 성질원자성 : 전부 수행되거나 수행되지 않아야 함일관성 : 수행 전이나 수행 후 일관된 상태 유지해야..

다중분류 이진분류 요약

출력 차원을 늘려야 하는 이유이진 분류에서는 예를 들어 강아지 = 1, 고양이 = 0처럼 단일 출력 노드로도 충분합니다. 그러나 이렇게 단일 출력으로 분류하게 되면, 중간값(예: 0.5)처럼 애매한 결과가 나와 오류가 발생할 수 있습니다. 이를 방지하고 더 복잡한 다중 분류 문제를 해결하기 위해 출력 차원을 늘리는 방식, 즉 출력 노드를 클래스 수만큼 구성하는 방식을 사용합니다. 예를 들어, 분류 대상이 3종류라면 다음과 같이 표현합니다:강아지 → [1,0,0]고양이 → [0,1,0]토끼 → [0,0,1]이렇게 하면 각 클래스에 해당하는 확률 분포를 명확히 표현할 수 있습니다. Softmax: 다중 분류에서의 확률 출력다중 분류에서는 출력이 확률 분포의 형태를 띄어야 하므로 다음 조건을 만족해야 합니다:..

인공신경망은 MLE 기계

인공신경망(Artificial Neural Network, ANN)은 결국 하나의 함수로 볼 수 있습니다. 이 함수 fff는 다양한 weight와 bias, 즉 파라미터들로 구성된 함수이며, 입력 x가 주어졌을 때 출력은 f(x)가 됩니다. 즉, 신경망은 파라미터화된(parameterized) 함수로서, 주어진 입력에 대해 적절한 출력을 내는 함수 f_w(x)를 학습합니다. 예를 들어 수학에서 x→f→x2처럼, 어떤 입력 x가 함수 f를 통해 f(x)로 변환되는 것처럼, 신경망도 입력 x를 받아 출력합니다. 이때 출력된 fw​(x)는 정답 레이블 y에 대한 확률 분포, 즉 조건부 확률 분포 p(y∣fw(x))을 따르게 됩니다. 이 확률 분포를 어떻게 모델링하느냐에 따라 신경망의 출력 해석이 달라집니다. ..

[Loss function] MSE vs log-likelihood

확률 곱셈의 수치적 불안정성과 로그 변환의 필요성if 강아지사진 q를 최대화해야else if 고양이사진 q를 최소화해야확률 q를 최소화하는 것은, 수학적으로 1 - q를 최대화하는 것과 같습니다.이 개념은 베르누이 분포의 확률 표현인q^p * (1 - q)^(1 - p)을 최대화하는 것과도 같습니다. 이 수식은 p가 1일 때는 q, p가 0일 때는 1 - q를 취하는 구조로, 주어진 정답에 따라 올바른 확률을 선택하여 곱하는 방식입니다. 이는 독립시행에서 전체 확률을 계산하기 위해 각 시행의 확률을 곱하는 방식과 같습니다. 예를 들어, 어떤 모델이 하나의 데이터에서 정답을 0.9 확률로 맞춘다고 하면, 이를 100번 반복하면 전체 확률은 0.9^100 ≈ 0.000026이 됩니다. 이처럼 0과 1 사이의..

[FT] [운영체제] 프로세스의 생성과 삭제

프로세스의 상태운영체제에서 프로세스(Process) 는 실행 중 여러 가지 상태(state) 를 가집니다. 대표적인 상태는 다음과 같습니다.1. 프로세스의 주요 상태상태설명생성 상태 (New)프로세스가 생성되어 PCB가 할당 된 상태준비 상태 (Ready)실행 가능한 상태이지만 CPU를 할당받지 못한 상태실행 상태 (Running)CPU를 할당받아 실행 중 인 상태대기 상태 (Waiting, Blocked)입출력 작업 등 특정 이벤트를 기다리는 상태종료 상태 (Terminated)실행이 끝나 PCB가 폐기되고 자원이 반환된 상태2. 프로세스 상태 전이 (State Transition)준비 → 실행: CPU를 할당받으면 실행 상태로 전환실행 → 준비: 타이머 인터럽트 발생 시 다시 준비 상태로 이동실행 →..

[FT] [운영체제] 프로세스의 생성과 삭제

프로세스의 상태운영체제에서 프로세스(Process) 는 실행 중 여러 가지 상태(state) 를 가집니다. 대표적인 상태는 다음과 같습니다.1. 프로세스의 주요 상태상태설명생성 상태 (New)프로세스가 생성되어 PCB가 할당 된 상태준비 상태 (Ready)실행 가능한 상태이지만 CPU를 할당받지 못한 상태실행 상태 (Running)CPU를 할당받아 실행 중 인 상태대기 상태 (Waiting, Blocked)입출력 작업 등 특정 이벤트를 기다리는 상태종료 상태 (Terminated)실행이 끝나 PCB가 폐기되고 자원이 반환된 상태2. 프로세스 상태 전이 (State Transition)준비 → 실행: CPU를 할당받으면 실행 상태로 전환실행 → 준비: 타이머 인터럽트 발생 시 다시 준비 상태로 이동실행 →..

[FT][운영체제] 프로세스와 스레드

실행 중인 프로그램을 프로세스(Process) 라고 합니다. 메모리는 커널 영역(Kernel Space) 과 사용자 영역(User Space) 으로 나뉘며, 프로세스는 사용자 영역에서 실행됩니다. 같은 프로그램이라도 여러 개의 프로세스로 실행될 수 있습니다. 즉, 동일한 프로그램을 여러 번 실행하면 각각 독립적인 프로세스로 동작합니다. 하지만 같은 프로그램이 여러 번 실행된다고 해서 반드시 메모리에 중복 적재될 필요는 없습니다.프로세스 제어 블록모든 프로세스는 프로세스 제어 블록(PCB, Process Control Block) 이라는 데이터 구조를 갖습니다. 운영체제는 PCB를 통해 각 프로세스를 식별하고 관리합니다. PCB는 운영체제의 커널 영역 에 위치하며, 실행 중인 모든 프로세스의 PCB가 저장..

[FT][데이터베이스] 관계 대수

관계 대수(Relational Algebra)관계 대수는 릴레이션(Relation) 에 원하는 결과를 얻기 위해 수학적 연산을 수행하는 질의 언어입니다.절차적 언어로, 하나 이상의 릴레이션에 연산을 수행하여 결과 릴레이션이 생성되는 과정을 확인하는 방법을 제공합니다.SQL 언어: 관계 해석(Relational Calculus) 기반DBMS 내부 연산: 관계 대수(Relational Algebra) 기반집합 이론과 관계 대수관계 대수는 집합 이론(Set Theory) 을 기반으로 연산을 정의합니다.집합 연산합집합 (∪): 두 릴레이션의 모든 튜플을 포함하는 연산교집합 (∩): 두 릴레이션에서 공통으로 존재하는 튜플 반환차집합 (-): 첫 번째 릴레이션에 속하고 두 번째에는 없는 튜플 반환카티션 프로덕트 (..

[알고리즘] Heapsort

힙 정렬(Heap Sort) 개요최악의 경우 시간 복잡도:O(nlog⁡n)특징:제자리 정렬(Sort in Place): 추가 배열이 필요하지 않음이진 힙(Binary Heap) 구조 사용힙(Heap)힙은 완전 이진 트리(Complete Binary Tree) 이면서 힙 속성(Heap Property) 을 만족해야 합니다.완전 이진 트리(Complete Binary Tree):마지막 레벨을 제외하면 모든 레벨이 완전히 채워져 있어야 합니다.마지막 레벨에서는 왼쪽부터 연속된 노드만 존재할 수 있습니다.힙 속성(Heap Property)최대 힙(Max Heap) 속성:부모 노드는 자식 노드보다 크거나 같아야 합니다.최소 힙(Min Heap) 속성:부모 노드는 자식 노드보다 작거나 같아야 합니다.이번 정렬에서는..