분류 전체보기(635)
-
부동 소수점 - 2. 컴퓨터가 숫자를 표현하는 방식
컴퓨터가 숫자를 표현하는 방식컴퓨터는 우리가 사용하는 10진법(0~9까지의 숫자) 대신 2진법(0과 1만 사용)을 이용하여 숫자를 저장하고 연산합니다.그렇다면, 컴퓨터가 어떻게 숫자를 표현하는지 알아보겠습니다.1. 2진수 개념(0과 1) 간단히 소개왜 컴퓨터는 2진수를 사용할까?컴퓨터 내부에서는 전기 신호(ON/OFF)를 이용하여 데이터를 저장하고 처리합니다.ON(전압 있음) → 1OFF(전압 없음) → 0이처럼 컴퓨터는 두 가지 상태만 구분할 수 있기 때문에 2진법(Binary System)을 사용합니다.10진수 vs. 2진수우리가 일반적으로 사용하는 10진법에서는 숫자를 다음과 같이 표현합니다.여기서 기본(Base)는 10입니다.반면, 2진법에서는 숫자를 0과 1의 조합으로 나타냅니다.예를 들어, 1..
2025.02.08 -
부동 소수점 - 1. 부동 소수점이란?
부동 소수점이란?컴퓨터는 숫자를 2진수(0과 1)로 저장하고 계산합니다. 하지만 우리가 사용하는 소수(1.5, 3.1415, 0.25 등)를 정확하게 표현하려면 어떻게 해야 할까요?소수점의 위치가 유동적인 개념부동 소수점(Floating-Point)이라는 표현은 소수점의 위치가 고정되지 않고(유동적으로 변화) 조정될 수 있다는 의미입니다.예를 들어, 다음 두 숫자를 생각해 봅시다.123.450.0012345이 두 숫자는 크기가 다르지만, 둘 다 "1.2345 × 10^{-1}" 또는 "1.2345 × 10^{4}"처럼 표현할 수 있습니다.즉, 소수점의 위치를 자유롭게 조정하면 숫자의 크기에 관계없이 같은 방식으로 표현할 수 있습니다.컴퓨터는 **10진법이 아니라 2진법(0과 1만 사용)**을 사용하므로,..
2025.02.08 -
시스템 콜 (System Call) - 6. 시스템 콜의 보안과 성능 이슈
6장: 시스템 콜의 보안과 성능 이슈1. 시스템 콜이 보안과 관련된 이유운영체제는 사용자 프로그램과 하드웨어 사이에서 보안과 안정성을 유지하는 중요한 역할을 합니다. 시스템 콜(System Call)은 프로그램이 운영체제의 기능을 요청하는 방식이기 때문에, 보안이 중요한 요소가 됩니다.📌 시스템 콜이 보안과 관련된 주요 이유1️⃣ 사용자 프로그램이 직접 하드웨어를 조작할 수 없음프로그램이 직접 하드웨어(디스크, 네트워크, 메모리 등)를 조작하면 운영체제의 안정성이 깨질 위험이 있습니다.시스템 콜을 통해서만 하드웨어에 접근할 수 있도록 하여 보안성을 유지합니다.2️⃣ 권한 검사가 필요함한 프로세스가 다른 프로세스의 메모리를 읽거나 수정할 수 있다면 데이터 유출이나 악의적인 공격이 발생할 수 있습니다.시스..
2025.02.08 -
시스템 콜 (System Call) - 5. 시스템 콜을 직접 사용해 보기
5장: 시스템 콜을 직접 사용해 보기1. 간단한 C 프로그램을 작성하여 시스템 콜 사용하기이전 장에서 시스템 콜이 내부적으로 어떻게 동작하는지 배웠습니다. 이제 C 언어를 사용하여 시스템 콜을 직접 호출하는 프로그램을 작성하고, 파일을 읽고 쓰는 과정을 실습해 보겠습니다.보통 printf(), fopen() 같은 라이브러리 함수들은 내부적으로 시스템 콜을 호출합니다. 이번 실습에서는 라이브러리 함수를 사용하지 않고 직접 시스템 콜을 호출하여 파일을 조작하는 방법을 배웁니다.2. 파일을 여는 코드 (open), 데이터 읽고 쓰는 코드 (read, write)📌 1) 파일을 여는 코드 (open)#include #include #include #include int main() { int fd; ..
2025.02.08 -
시스템 콜 (System Call) - 4. 시스템 콜이 동작하는 과정
4장: 시스템 콜이 동작하는 과정1. 시스템 콜이 실행될 때 내부적으로 어떤 일이 일어나는가?시스템 콜(System Call)은 프로그램이 운영체제의 기능을 사용할 수 있도록 요청하는 메커니즘입니다. 이를 통해 프로그램은 파일 조작, 프로세스 생성, 메모리 할당, 네트워크 통신 등 다양한 작업을 수행할 수 있습니다.그렇다면 시스템 콜이 호출될 때 내부적으로 어떤 과정이 발생할까요? 이를 이해하기 위해 단계별 흐름을 살펴보겠습니다.📌 시스템 콜의 실행 흐름 (단계별 과정)💡 프로그램이 read() 시스템 콜을 호출한다고 가정해 봅시다.1️⃣ 사용자 모드에서 시스템 콜 호출프로그램이 read() 시스템 콜을 호출하면 실행 흐름이 사용자 모드(User Mode)에서 시작됩니다.프로그램은 운영체제의 특정 기..
2025.02.08 -
시스템 콜 (System Call) - 3. 시스템 콜의 종류와 예제
3장: 시스템 콜의 종류와 예제1. 주요 시스템 콜의 종류시스템 콜은 운영체제가 제공하는 기능을 사용할 때 프로그램이 호출하는 특별한 함수입니다. 시스템 콜은 다양한 기능을 수행하며, 크게 다음과 같은 범주로 나눌 수 있습니다.📌 1) 파일 조작 관련 시스템 콜open() → 파일 열기read() → 파일에서 데이터 읽기write() → 파일에 데이터 쓰기close() → 파일 닫기unlink() → 파일 삭제📌 2) 프로세스 관리 관련 시스템 콜fork() → 새로운 프로세스 생성exec() → 실행 중인 프로세스를 다른 프로그램으로 교체exit() → 프로세스 종료wait() → 자식 프로세스 종료 대기 (좀비 프로세스 방지)📌 3) 메모리 관리 관련 시스템 콜brk() → 힙 메모리 크기 변경..
2025.02.08