일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- TiL
- 알고리즘
- 스택
- userprog
- 사이드프로젝트
- CSS
- Vue.js
- 소켓
- 핀토스
- 백준
- 정보처리기사
- 자바
- 코드트리
- 4기
- JavaScript
- defee
- 큐
- 모션비트
- corou
- 자바스크립트
- Java
- Flutter
- 리액트
- 나만무
- 시스템콜
- 프로그래머스
- 크래프톤 정글
- 크래프톤정글
- HTML
- pintos
- Today
- Total
목록백준 (49)
문미새 개발일지
오늘의 잔디심기 백준 2523 자바스크립트 브론즈3 별 찍기 13 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); const n = Number(input[0]); const star = '*'; for (let i = 1; i 0; i--) { let result = ''; for (let j = 0; j < i; j++) { result += star; } console.log(result); } 오늘도 열심히 pintOS 죽쑤느라 간단한 문제로 잔디 심기..
demand paging 운영체제에서 사용하는 메모리 관리 전략 중 하나로, 프로그램 실행 시 모든 메모리를 물리적 메모리에 적재하는 대신, 필요한 페이지만 메모리에 적재하는 방식 프로그램이 실행되기 위해서는 그 프로그램의 모든 코드와 데이터가 물리적 메모리에 적재되어야 하지만, 특정 함수는 실행 중에 한 번도 호출되지 않을 수 있고 또한 프로그램이 크면 모든 데이터를 메모리에 적재하는 것은 메모리 자원을 낭비하게 된다. 이런 문제를 해결하기 위해 demand paging 전략이 사용된다. 이 전략을 프로그램 실행 시 필요한 페이지만 메모리에 적재하고, 나머지 페이지는 디스크에 남겨두며, 이후 필요에 따라 메모리에 적재한다. 이를 통해 메모리 사용량을 줄이고 시스템의 전반적인 효율성을 향상 시킬 수 있다..
오늘의 잔디심기 백준 17204 자바스크립트 실버3 죽음의 게임 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); const TheGameOfDeath = (N, K) => { const order = []; for(let i = 1; i
오늘의 잔디심기 백준 24509 자바스크립트 실버5 상품의 주인은? const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().split("\n"); const itemMaster = (N) => { const studentScore = []; const item_master = []; for(let i = 1; i
4BSD(4th Berkeley Software Distribution) 4BSD 스케줄링 또는 BSD 스케줄링은 미국 캘리포니아 대학 버클리의 CSRG(Computer Systems Research Group )에서 개발한 유닉스 운영 체제의 버전 중 하나인 BSD에서 사용된 스케줄링 방식이다. 4BSD 스케줄링은 다단계 멀티 피드백 큐 스케줄링(MLFQS)을 기반으로 하며, 프로세스의 특성에 따라 우선순위를 변경하는 동적 우선순위 결정 방식을 사용한다. 4BSD의 특징 대화형(Interactive) 프로세스와 배치(batch) 프로세스를 구분한다. 대화형 프로세스는 사용자와 상호작용을 많이 하므로 빠른 반응 시간이 요구되며, 배치 프로세스는 CPU를 많이 사용하므로 높은 처리량이 요구된다. 프로세스의..

평균 반응 시간(Average response time) 시스템이 사용자의 요청에 응답하는데 걸리는 시간의 평균을 의미하며, 특히 대화형 시스템에서 중요한 성능 지표로 사용되며, 사용자 경험에 큰 영향을 미친다. 평균 반응 시간 계산 먼저 요청의 반응 시간을 측정한다.(반응 시간은 요청이 시스템에 도착한 시점부터 시스템에 해당 요청에 대한 응답을 완료한 시점까지의 시간이다. 모든 요청의 반응 시간을 합산하며, 총합을 요청의 개수로 나눈다. 다단계 큐 스케줄링(MultiLevel Queue Scheduling, MLQ) 우선순위마다 준비 큐 형성 항상 가장 높은 우선순위 큐의 프로세스에 CPU를 할당 (우선순위가 낮은 큐에서 작업 실행 중이더라도 상위 단계의 큐에 프로세스가 도착하면 CPU를 빼앗는 선점형..
CPU 스케줄링 알고리즘 CPU 스케줄링은 다중 프로그램 환경에서 CPU의 사용 시간을 효율적으로 분배하기 위한 방법이다. 이를 통해 시스템의 성능을 최적화하고, 대기 시간을 최소화하며, CPU 사용률을 극대화하는 것이 목표이다. 알고리즘 종류 선입선출 스케줄링(First-Come, First-Served Scheduling - FCFS) 이 알고리즘은 먼저 도착한 프로세스부터 처리하는 알고리즘이다. 프로세스 실행 시간을 예측하기 쉽고 단순하고 공평하지만 CPU 버스트 시간이 긴 프로세스가 먼저 도착하면 다른 프로세스들은 긴 대기 시간을 감수해야 하는 ‘호흡성’ 문제가 발생할 수 있다. 최단 작업 우선 스케줄링(Shortest Job Next Scheduling- SJN) 이 알고리즘은 CPU 버스트 시..
Tiny Server Code tiny.c 더보기 #include "csapp.h" void doit(int fd); void read_requesthdrs(rio_t *rp); int parse_uri(char *uri, char *filename, char *cgiargs); void serve_static(int fd, char *filename, int filesize, char *method); void get_filetype(char *filename, char *filetype); void serve_dynamic(int fd, char *filename, char *cgiargs, char *method); void clienterror(int fd, char *cause, char *er..