
CPU 가 하는일은 연산된 결과를 레지스터에 저장하는것.32비트가 한번에 왔다갔다 하는 통로64비트 시스템은 최대 2^64 까지의 가상메모리를 가질 수 있음. 원래 프로그래밍은 공간을 만들어놓고 데이터를 저장하고 읽어드리고 이게 전부였음.=> 근데 이걸 좀더 구조화하기

메모리에 올려서 각각의 타입 형으로 출력하기엔디안도 고려하고, float 과 double 은 소숫점 4자리 까지만input 이라는 파일을 읽을거야. 파일로 바이너리를 줄거야. 이 파일을 읽고 출력하는 결과값은 다 똑같아야해.printf 써야하고,아스키 출력하는데 뭐가

이 문서는 'main.c'와 'sum.c'라는 두 개의 소스 파일로 분할된 기본 C 프로그램으로 시작하며, 여러 개체 파일에서 단일 실행 파일을 생성하려면 연결이 필요함을 보여줍니다.컴파일을 위해 'gcc'를 사용하여 프로그램이 단일 실행 가능 개체 파일로 변환 및 링
라이브러리 인터포지셔닝은 프로그래머가 임의의 함수 호출을 가로챌 수 있게 해주는 강력한 링킹 기법입니다.인터포지셔닝은 다음과 같은 시점에서 발생할 수 있습니다:컴파일 시간: 소스 코드가 컴파일될 때링크 시간: 재배치 가능 객체 파일이 실행 가능 객체 파일로 정적으로 링
C 표준 라이브러리를 사용한 텍스트 I/O: fread(), fgets(), printf() 등.그러나 모든 I/O는 커널 시스템 호출을 기반으로 합니다.UNIX에서 "모든 것은 파일"입니다.장치 노드도 파일처럼 동작합니다.예: /dev/null은 항상 읽을 수 있고,

이제 대 멀티프로세스 시대니까 -> IPC 가 중요. 파이프와 리다이렉션이 중요해짐.프로세스는 파이프를 통해 파일을 읽고 쓰기함일방향 통신만함.stdin 0stdout 1stderr 2 readonly 용 파일디스크립터, writeonly 용 파일디스크립터를 생성해서

프로세스가 사용하는 메모리실제 메모리를 고려하지 않아도 메모리관리 할 수 있게 도와주는 가상의 메모리피지컬 메모리를 더 효율적으로 사용하려고 (버츄얼에서 주로 사용하는것만 찐메모리에 올림). 마치 캐시처럼메모리 관리가 간단해져서. 버츄얼 메모리만 신경쓰면되니까각 프로세
물리 메모리에 존재하는 하나의 객체가 여러 프로세스의 가상 메모리에 매핑될 수 있습니다.서로 다른 가상 주소에 동일한 물리 메모리 객체를 매핑할 수 있습니다.프로세스 1과 프로세스 2는 동일한 공유 객체를 각각의 가상 메모리에 매핑합니다.가상 주소는 다를 수 있지만,
함수 호출과 자동 변수는 스택을 사용합니다.자동 변수는 함수 내부에서 선언된 변수입니다.스택 사용은 플랫폼에 따라 다르며, 애플리케이션 바이너리 인터페이스(ABI)의 일부입니다.스택 메모리는 암묵적으로 할당됩니다.스택은 메모리에서 아래 방향으로 성장합니다.스택의 베이스
UNIX 셸은 역사적으로 사용자의 주요 시스템 인터페이스였습니다.시스템 호출에 직접적이지만 안전한 접근을 제공합니다.셸은 도입 당시 혁신적이었습니다.셸에 대해 이해하는 것이 유용합니다.대화형 명령 프롬프트프로그래밍 환경대화형 세션은 입력을 요청하고 즉시 실행합니다.현대
POSIX 신호는 또 다른 형태의 프로세스 간 통신입니다.프로그램 내에서 동시성을 생성하는 방법이기도 합니다.이러한 이유로 POSIX 신호는 복잡하고 미묘합니다.POSIX 신호는 비동기 메시지입니다.비동기란 신호 수신이 언제든지 발생할 수 있음을 의미합니다.각 신호는
로그인 셸에서 파생된 자식 프로세스, 손자 프로세스 등 다양한 프로세스 계층 구조를 형성합니다.데몬 프로세스는 백그라운드에서 실행되며, 예를 들어 httpd와 같은 웹 서버가 있습니다.init 프로세스 (PID 1)는 시스템의 루트 프로세스입니다.pstree 명령어를
레이스 조건은 두 개 이상의 이벤트가 서로 의존하며, 일부 이벤트가 다양한 순서로 발생하거나 동시에 발생할 수 있는 상황을 의미합니다.이벤트의 잘못된 순서가 존재할 수 있습니다.예시:여러 번 업데이트되는 상태상태를 기반으로 생성되는 출력업데이트의 순서가 잘못되어 잘못된
세마포어는 숫자와 연관되어 있습니다.세마포어에 대한 두 가지 주요 연산:P와 V (기타 용어: up과 down, wait과 post)P는 뮤텍스 잠금에 해당하고, V는 뮤텍스 잠금 해제에 해당합니다.여기서는 P와 V를 사용합니다.P(s): 첫 번째 논리적 제어 흐름이
POSIX 스레드 API는 UNIX에 스레딩 기능을 추가합니다.Pthreads 또는 pthreads라고도 불립니다.초기 UNIX는 동시성을 위해 프로세스 모델만 제공했습니다.POSIX 스레드는 프로세스처럼 보이지만 더 많은 리소스를 공유합니다.함수로 시작합니다.프로세스
프로세스 종료 상태: 프로세스가 종료될 때 반환하는 상태 코드.파이프: 한 프로세스의 출력이 다른 프로세스의 입력으로 연결되는 통신 메커니즘.신호: 프로세스 간에 비동기적으로 메시지를 전달하는 방법.파일: 여러 프로세스가 읽고 쓸 수 있는 공통 파일을 사용하여 데이터를
공유 상태는 공유 메모리에 존재합니다.공유 메모리는 동시성 문제를 일으킬 수 있습니다.메모리가 어떻게 공유되는지 이해하는 것이 중요합니다.동일 프로세스 내의 동일 스레드가 다른 시간에 사용하는 메모리일반적으로 문제를 일으키지 않음.동일 프로세스 내의 다른 스레드가 사용

소켓 , IPC 도 파일로 간주함.파일을 식별하기 위해 운영체제로부터 할당받은 '정보'저수준에서 파일을 식별하는 정보인자: (파일경로, flag: 접근플래그, mode: 파일 생성모드 (권한))성공시 fd return 실패시 -1성공시 0실패시 -1FILE \* 타입파