CS 16

프로그램 컴파일 과정

컴파일이란프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행될 수 있는 파일이 된 것을 의미한다. 소스 파일(코드) -> preprocessor(전처리과정) -> compiler -> assembler -> Linker(목적코드) -> 실행전처리소스코드의 주석제거, #include 등 헤더파일을 병합하고 매크로를 치환하는 과정컴파일러오류처리, 코드최적화 작업을 하여 어셈블리어로 변환한다.어셈블리어목적코드(object code)로 변환되는데 이때 확장자는 운영체제마다 다른게 변한다.링커프로그럄 내 있는 라이브러리 함수 등과 결합해 실행파일이 만들어집니다. 이는 .exe 확장자, .out이라는 확장자를 갖게 된다.* 요약하자면✅ 1. 전처리 (Preprocessing)대..

CS/운영체제 2025.05.29

가상메모리, 페이지테이블, 페이지폴트, 스레싱

1. ✅ 가상 메모리 (Virtual Memory)정의: 실제 물리 메모리(RAM)의 크기보다 더 큰 메모리 공간을 사용하는 것처럼 보이게 해주는 운영체제의 기술.하드디스크의 일부를 메모리처럼 사용하는 방식.프로그램은 연속된 큰 메모리 공간을 할당받는 것처럼 보임.실제로는 일부만 메모리에 올라오고 나머지는 디스크에 있음.장점: 프로그램 간 메모리 보호, 메모리 부족 문제 해결, 멀티태스킹 가능2. ✅ 페이지 테이블 (Page Table)정의: 가상 주소(Virtual Address)를 물리 주소(Physical Address)로 매핑해주는 데이터 구조.가상 메모리는 페이지(Page) 단위로 나뉘고, 물리 메모리는 프레임(Frame) 단위로 나뉨.페이지 테이블은 각 가상 페이지가 어느 물리 프레임에 매핑되..

CS/운영체제 2025.05.28

인터럽트

인터럽트인터럽트란 : 어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것을 말하며, 0으로 숫자를 나누는 산술 연산 오류, 프로세스 오류 등으로 발생합니다.또한 오류뿐만 아니라 키보드, 마우스 등 I/O 디바이스를 사용할 때의 인터럽트, 우선순위가 높은 프로세스의 발생 등으로 발생한다.ex) 크롬 브라우저를 띄어 놓고 파일을 다운받는 순간 인터럽트가 캐치해서 CPU가 하는일을 잠시 멈추고 파일을 받는 명령어를 실행한다.인터럽트의 종류인터럽트는 하드웨어 인터럽트, 소프트웨어 인터럽트 두 가지로 나뉜다.하드웨어 인터럽트I/O 디바이스 등 하드웨어에서 발생하는 인터럽트로써 예를 들어 마우스를 기반으로 버튼을 클릭할 때, 디스크에서 파일읽기, 쓰기 작업이 완료되었을 때 발동된다.소프트웨어 인터럽트트랩(trap..

CS/운영체제 2025.05.27

운영체제와 컴퓨터 시스템의 구조

운영체제의 종류운영체제는 앞단의 어떤 인터페이스를 두누냐에 따라 GUI와 CUI로 나눌 수 있다.GUIGUI, Graphical User Interface는 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스라 한다.windowOS, macOS 등이 있다.CUICUI, Character User Interface는 사용자가 키보드만을 사용하여 문자를 기반으로 컴퓨터와 상호작용하는 인터페이스라 한다.예전 OS인 MS-DOS가 대표적이다.챗 GPT도 어떻게 보면 CUI라 할 수 있다.운영체제의 역할운영체제의 역할은 다음과 같습니다. 이는 운영체제의 커널이 담당합니다.CPU 스케줄링과 프로세스 상태관리메모리관리디스크 파일 관리I/0 디바이스 관리* 커널이란 : 하드웨어와 소프트웨어를 연결해주는 중간 관리자 역할..

CS/운영체제 2025.05.27

컴퓨터 구조

컴퓨터 구조에는 크게 4가지로 정의할 수 있다.1. 프로세서(CPU)CPU는 중앙처리장치(Central Processing Unit)의 약자로, 컴퓨터의 중심(뇌)이 되는 가장 중요한 하드웨어입니다. CPU는 우리가 컴퓨터로 하는 모든 작업의 중심에서 명령을 처리하고 결과를 제공합니다.CPU의 구성 요소산술 논리 장치(ALU)ALU는 Arithmetic Logic Unit, 즉 산술 논리 장치로, 숫자를 계산하거나 데이터를 비교하는 일을 해요.제어 장치(CU)CU는 CPU의 지휘관이에요.프로그램 명령어를 해석하고, 어떤 작업을 할지 ALU와 메모리에 지시합니다.CPU가 제대로 일하도록 모든 흐름을 조정하는 역할을 해요.✅ 프로그램 동작 실행 순서1. 사용자가 카카오톡 앱을 실행하면, 운영체제(OS)의 커..

CS/컴퓨터구조 2025.05.19

컴퓨터 하드웨어와 소프트웨어 및 운영체제

하드웨어란 ?소프트웨어(운영체제와 프로그램)가 동작할 수 있도록 설계된 장치들소프트웨어란 ?하드웨어를 제어하고, 사용자가 원하는 기능을 구현하는 프로그램운영체제란?하드웨어와 소프트웨어 사이에서 중개자 역할운영체제의 실행(부팅과정)메인보드 전원 버튼을 누른다.BIOS 또는 UEFI가 실행된다.BIOS, UEFI란 : 컴퓨터 전원을 켰을 때 제일 먼저 실행되는 프로그램이야.CPU, 메모리, 하드디스크 같은 하드웨어가 정상인지 검사하고운영체제(Windows, macOS, Linux...)를 불러오는 준비를 한다.하드웨어 초기화 및 점검(POST), 하드웨어 작동 준비 상태로 만듬Power-On Self TestCPU, RAM, 그래픽카드, 키보드 같은 기본 장치들이 제대로 연결됐는지 확인부트 장치 탐색 및 부..

CS/운영체제 2025.04.28