본문 바로가기

CS 지식23

[운영 체제] System Call(시스템 콜)이란 무엇인가? ✔️ System Call(시스템 콜) 정의System call(시스템 호출)이란? 운영 체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다.   ➕ 시스템 콜이 필요한 이유사용자 프로세스가 직접 특권 명령을 수행할 수 없으므로 커널(kernel)의 도움을 받기 위해 시스템 콜을 사용한다. 문서는 컴퓨터 저장장치에 저장되어 있고 하드웨어 자원을 관리하는 것은 운영체제이다. 사용자가 어떤 문서를 불러오려고 할 때, 사용자 프로세스는 하드웨어에 저장되어 있는 문서를 불러올 수 없으므로 커널의 도움을 받기 위해 시스템 콜을 호출하게 된다.✔️ 시스템콜 종류1. 프로세스 제어(Process Control)2. 파일 조작 (File Manipulation) 3. .. 2024. 8. 20.
[운영 체제] Interrupt(인터럽트)는 무엇인가 ✔️ 인터럽트란 무엇인가?Interrupt(인터럽트)란?프로그램을 실행하는 도중에 예기치 않은 상황이 발생한 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 계속 처리하는 것 (프로세서 즉, 흔히 CPU에 의해)✔️ 인터럽트의 종류 1️⃣ 하드웨어 인터럽트(hardware interrupt) = 외부 인터럽트 : CPU의 하드웨어(ex-키보드, 마우스 등)에 의해 발생입출력 장치, 타이밍 장치, 전원 등 외부적인 요인으로 발생ex) 전원 이상, 기계 착오, 외부 신호, 입출력 등2️⃣ 소프트웨어 인터럽트(software interrupt) = 내부 인터럽트 : CPU에 의해 실행 되고 있는 프로그램에 의해 발생Trap 이라고 부르며, 잘못된 명령이나.. 2024. 8. 20.
[운영 체제] 프로세스의 주소 공간 프로그램이 CPU에 의해 실행됨 ⇨ 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당됨 프로세스는 실행중인 프로그램 이고, 운영체제가 자원을 할당하는 단위 이다. 프로그램이 실행되면 메모리를 할당받는데, 프로세스는 이 할당받은 메모리를 관리하기 위해 특정 구조를 만든다. 이것을 프로세스 주소 공간(Process Address Space) 이라고 한다.  ✔️ 프로세스 주소 공간 프로세스 주소 공간에는 크게 코드, 데이터, 스택, 힙으로 네 가지의 영역으로 나눌 수 있다. 1️⃣ 코드(텍스트) Segment : 프로그램 소스 코드 저장2️⃣ 데이터 Segment : 전역 변수 및 static 변수 저장3️⃣ 힙 Segment : 참조형 데이터(클래스) 등 동적으로 할당되는 데이터 저장4️⃣ 스택 Se.. 2024. 8. 20.
[운영 체제] 프로세스 vs 스레드 프로세스와 스레드의 개념과 차이를 이해하기Process vs Thread ✔️ 프로세스(Process) ►프로그램(program) 이란?: 어떤 작업을 위한 실행 코드 (프로세스가 되기 전 프로그램은 디스크(disk)에 있음) ►프로세스(process) 는 실행중인 프로그램(program) 을 의미하며, Job 또는 Task라고 한다. 즉, 메모리 상에서 실행되는 작업 단위를 지칭한다.   프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다.기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가짐.►프로세스의 구조프로그램이 실행되어 프로세스가 만들어지면, 다음 4가지의 메모리 영역으로 구성되어 할당 받게 된다. Code(text) 영역: 실행할 프로그.. 2024. 8. 19.
[운영체제] 운영체제란 & 운영체제의 구조 ✔️ 운영체제란?운영체제(OS, Operating System)란 하드웨어 자원을 관리하고, 컴퓨터 하드웨어와 응용 프로그램 사이를 중재하는 인터페이스이다. 컴퓨터 하드웨어를 관리하고 컴퓨터 시스템의 자원들을 효율적으로 관리함즉, 운영체제(OS)는 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어 이다.대표적인 예시로는 Window, Mac OS, Unix, Linux, Android, iOS가 있다. ✔️ 운영체제의 역할 및 목적인터페이스 제공하드웨어 인터페이스와 사용자 인터페이스를 제공하여 편리하게 사용하도록 지원자원 관리CPU, Memory, I/O 장치와 같은 하드웨어 자원과 파일 메세지, 프로세스 등의 소프트웨어 자원 ,즉 컴퓨터 시스템 자원을 효율적으로 .. 2024. 8. 19.