본문 바로가기

컴퓨터구조

(2)
8장 예외적인 제어흐름 (Exceptional Control Flow) 💡 ECF란?💥 Exceptional Control Flow (예외적인 제어 흐름)평소 흐름대로 진행되던 프로그램이 갑자기 다른 곳으로 “점프”해서 실행되는 현상 ECF 종류설명예시인터럽트외부 장치가 CPU를 호출함키보드 입력, 타이머예외 (Exception)CPU가 실행 중 에러 감지0으로 나누기, 페이지 폴트시스템 콜 (Trap)프로그램이 OS에 서비스 요청read(), write() 등시그널OS나 다른 프로세스가 프로그램에 알림Ctrl+C, SIGCHLD 등비지역 점프함수 호출 스택 무시하고 점프setjmp, longjmp, throw/catch🧠 왜 중요하냐?✔ 운영체제가 동작하는 기본 원리모든 입출력, 메모리 관리, 프로세스 전환은 결국 ECF 덕분에 가능함.시스템 콜도 trap이라는 EC..
7장 링커 링커는 “코드 조각들을 하나로 묶어서 실행 가능한 프로그램을 만드는 연결자”링커를 알면 큰 프로젝트 구조, 변수/함수의 가시성, 에러 처리, 라이브러리 활용까지 잘 이해할 수 있다. 7.1 컴파일러 드라이버 📦 전체 흐름 요약 (4단계)전처리: main.c → main.i컴파일: main.i → main.s어셈블: main.s → main.o링크: main.o, sum.o → prog (실행파일)gcc -Og -o prog main.c sum.c내부에서는 이렇게 동작:cpp : main.c → main.i (전처리된 C 코드)ccl : main.i → main.s (어셈블리 코드)as : main.s → main.o (목적 파일, 바이너리)ld : main.o + sum.o → prog (실행 파일..