본문 바로가기

분류 전체보기153

[운영 체제] PCB & Context Switching ✔️ 프로세스 관리 프로세스 관리란 실행중인 프로세스가 여러 개일 때, CPU 스케줄링을 통해 프로세스를 관리하는 것을 의미한다. CPU는 각 프로세스들이 누군지 알아야 관리가 가능한데, 이때 프로세스들의 각자의 특징을 갖고 있는 Process Metadata 라는 정보를 활용한다. 프로세스 메타데이터(Process Metadata) • Process ID• Process State• Process Priority• CPU Registers• Owner• CPU Usage• Memeory Usage 이 메타데이터는 프로세스가 생성되면 PCB(Process Control Block)에 저장된다.  ✔️ PCB(Process Control Block)PCB(Process Control Block)는 프로세스.. 2024. 8. 21.
[백준] 1931 회의실 배정 (자바) : 그리디 알고리즘 [중] ✔️ 문제 설명문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다.입력첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231-1.. 2024. 8. 21.
[백준] 11047: 동전 0 (자바) : 그리디 알고리즘 ✔️ 문제 설명문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.예제 입력 1 10 4200151050100500100050001000050000예제 출력 1 6예제 입력 2 10 479015105010050010005000100.. 2024. 8. 21.
[알고리즘] 그리디 알고리즘(탐욕법) 정리 ✔️ 그리디 알고리즘(탐욕법) 정의그리디 알고리즘(Greedy Algorithm) 이란?최적의 값을 구해야 하는 상황에서, 각 단계에서 최적이라고 생각 되는 것을 선택해 나가는 알고리즘 입니다. 그리디 알고리즘은 각 단계마다 지역 최적의 해를 찾는 문제로, 문제를 더 작게 쪼개는 형태이다.  ➕ 언제 쓰는가?    최적해를 구하는 문제 !!    ✔️ 그리디 알고리즘으로 문제 해결하기선택 절차(Selection Procedure) : 현재 상태에서의 최적 해답을 선택한다.적절성 검사(Feasibility Check) : 선택된 해가 문제의 조건을 만족하는지 검사한다.해답 검사(Solution Check) : 문제가 해결되었는지 확인하고, 해결되지 않았다면 선택 절차로 되돌아간다. ✔️ 대표적인 문제백준 .. 2024. 8. 20.
[운영 체제] 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.