분류 전체보기(635)
-
IPC (Inter-Process Communication, 프로세스 간 통신) - 2. IPC의 기본 개념과 종류
2️⃣ IPC의 기본 개념과 종류운영체제에서 실행 중인 프로그램은 프로세스(Process) 라고 합니다. 하지만 운영체제는 각 프로세스가 독립적인 메모리 공간을 가지도록 설계되어 있어, 기본적으로 다른 프로세스의 메모리에는 접근할 수 없습니다.하지만 현실에서는 여러 개의 프로세스가 서로 협력해야 하는 경우가 많습니다. 예를 들어, 웹 브라우저의 렌더링 프로세스와 네트워크 프로세스가 데이터를 공유해야 하거나, 음악 앱의 UI 프로세스와 오디오 재생 프로세스가 통신해야 할 때가 있습니다.이처럼 독립적인 프로세스 간에 데이터를 교환하기 위해 사용하는 기술이 바로 IPC(Inter-Process Communication, 프로세스 간 통신) 입니다.📌 프로세스란 무엇인가?프로세스는 운영체제에서 실행 중인 프로..
2025.02.08 -
IPC (Inter-Process Communication, 프로세스 간 통신) - 1. IPC란 무엇인가?
1️⃣ IPC란 무엇인가?컴퓨터에서 실행되는 프로그램들은 프로세스(Process) 라고 불립니다. 보통 한 개의 프로그램은 여러 개의 프로세스로 구성되기도 하며, 프로세스끼리 협력해야 할 때가 많습니다. 하지만 운영체제는 보안을 위해 각 프로세스의 메모리를 서로 분리하기 때문에, 프로세스끼리 직접 데이터를 주고받는 것이 불가능합니다.이때 필요한 것이 바로 IPC(Inter-Process Communication, 프로세스 간 통신) 입니다.📌 일상적인 예로 보는 IPCIPC의 개념을 쉽게 이해하기 위해, 두 사람이 대화를 하는 상황을 떠올려 봅시다.1번 방식: 직접 말하기 → 공유 메모리 방식두 사람이 같은 공간에서 말로 직접 소통하는 것은 공유된 공간(공유 메모리)을 사용하는 것과 비슷합니다.(예: ..
2025.02.08 -
Pandas - 7. 데이터 병합 및 결합
Pandas에서는 여러 개의 데이터프레임을 하나로 병합하거나 결합할 때 다양한 방법을 제공합니다. 이 문서에서는 concat()을 활용한 데이터 연결, merge()를 활용한 병합, 그리고 성능 최적화를 위한 기법들을 설명합니다.1. 데이터 연결 (concat)1.1 수직 결합import pandas as pd# 샘플 데이터 생성df1 = pd.DataFrame({'이름': ['철수', '영희'], '성적': [85, 90]})df2 = pd.DataFrame({'이름': ['민수', '지연'], '성적': [88, 76]})# 수직 결합df_concat = pd.concat([df1, df2], ignore_index=True)print(df_concat)1.2 수평 결합 시 인덱스 불일치 문제 해결✅..
2025.02.08 -
Pandas - 6. 데이터 연산
Pandas에서는 다양한 데이터 연산을 수행할 수 있습니다. 이 문서에서는 기본적인 수치 연산부터 문자열 데이터 처리, 그룹화 및 집계, 윈도우 연산까지 초보자가 이해하기 쉽게 설명하고, 예제와 함께 각 개념을 소개합니다.1. 수치 연산Pandas를 이용하면 데이터프레임 내에서 다양한 수치 연산을 쉽게 수행할 수 있습니다.1.1 기본 연산 (합계, 평균, 최소/최대값)import pandas as pdimport numpy as np# 샘플 데이터 생성data = {'이름': ['철수', '영희', '민수', '지연', '현우'], '국어': [90, 85, 88, 76, 95], '수학': [80, 90, 95, 85, 100]}df = pd.DataFrame(data)# 기본..
2025.02.08 -
부호 있는 정수(Signed Integer) vs 부호 없는 정수(Unsigned Integer)
1. 개요컴퓨터에서 정수를 표현하는 방식에는 **부호 있는 정수(Signed Integer)**와 **부호 없는 정수(Unsigned Integer)**가 있다.이 두 방식은 정수 연산, 범위, 오버플로우 처리, 연산 효율성에서 차이를 보이며, 각각의 특징에 따라 다양한 응용 분야에서 사용된다.✅ 부호 있는 정수(Signed Integer)양수와 음수를 표현 가능 (예: -128 ~ +127, 8비트 기준)2의 보수(Two’s Complement) 방식으로 표현부호 확장(Sign Extension) 필요✅ 부호 없는 정수(Unsigned Integer)음수 없이 양수만 표현 (예: 0 ~ 255, 8비트 기준)부호 확장 필요 없음비트 쉬프트(Shift) 연산이 단순➡ 부호 있는 정수는 음수를 다룰 수 있..
2025.02.04 -
1의 보수 vs 2의 보수
1. 개요컴퓨터에서 음수를 표현하는 방식에는 1의 보수(One’s Complement)와 2의 보수(Two’s Complement)가 있습니다.이 두 방식은 음수를 저장할 수 있지만, 연산 효율성과 하드웨어 설계에서 큰 차이가 있습니다.➡ 2의 보수는 하드웨어 최적화와 연산 안정성 덕분에 현대 컴퓨터에서 표준으로 사용됩니다.2. 1의 보수 vs 2의 보수 변환 방식✅ 1의 보수 변환 방법모든 비트를 반전 (0 → 1, 1 → 0)변환 완료 (추가 연산 없음)✅ 2의 보수 변환 방법모든 비트를 반전 (0 → 1, 1 → 0)결과에 1을 더함✅ 1의 보수의 0 중복 문제1의 보수는 +0과 -0 두 개의 0을 가짐 (예: 4비트에서 0000(+0)과 1111(-0))연산 시 오류 가능성이 있으며, 메모리 낭비..
2025.02.04