컨텍스트 스위칭(context switching)
·
Computer Science/Operating System
context switching이란?context는 프로세스의 상태 정보를 의미하며 CPU 혹은 코어에서 실행 중이던 (프로세스 / 스레드) 가 다른 (프로세스 / 스레드)로 교체되는 것으로여러 프로세스 및 스레드를 동시에 실행시키기 위해서 필요하다. context switching이 발생하는 조건주어진 time slice(quantum)를 전부 사용했거나, IO 작업을 해야하거나, 다른 리소스를 기다려야 하는 등의 이유로 발생하게 됨 context switching은 누구에 의해 실행되는가??OS kernel : 운영체제의 핵심ontext switching이란?CPU 혹은 코어에서 실행 중이던 (프로세스 / 스레드) 가 다른 (프로세스 / 스레드)로 교체되는 것으로여러 프로세스 및 스레드를 동시에 실행..
프로세스와 스레드
·
Computer Science/Operating System
사전 지식프로세스란?컴퓨터에서 실행중인 프로그램이며각각의 프로세스는 독립된 메모리 공간을 할당 받고, 명령어들과 데이터를 가짐 컴퓨터 시스템 발전 과정1. 단일 프로세스 시스템한 번에 하나의 프로그램만 실행▶ 또 다른 프로그램을 실행하기 위해서는, 먼저 실행되었던 프로그램이 종료된 후에 실행해야 함 한계점 : CPU의 자원이 낭비됨 만약P1 이라는 프로세스가 CPU를 사용하기도 하며, IO 작업을 진행할 수 있다는 가정하에 P1이 프로세스 도중 IO 작업을 만나게 된다면 어떻게 될까?? ▶ IO 작업 중 CPU는 아무런 작업 없이 자원을 낭비하게 됨 해결책 : 여러 개의 프로그램을 메모리에 올려놓고 동시에 실행하자 ▶ IO 작업이 발생 했을 때 남는 시간에 다른 프로세스가 CPU에서 실행됨이러한 방식의 ..
[level 2] n^2 배열 자르기 - 87390
·
코딩테스트/프로그래머스
[level 2] n^2 배열 자르기 - 87390문제 링크성능 요약메모리: 91.8 MB, 시간: 6.77 ms구분코딩테스트 연습 > 월간 코드 챌린지 시즌3채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 15일 16:46:48문제 설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.새로운 1차원 배열을 arr이라 할 때, arr[left], ar..
[level 2] 할인 행사 - 131127
·
코딩테스트/프로그래머스
[level 2] 할인 행사 - 131127문제 링크성능 요약메모리: 132 MB, 시간: 72.48 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 15일 15:11:52문제 설명XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다.예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 14일간 회..
[level 2] 연속 부분 수열 합의 개수 - 131701
·
코딩테스트/프로그래머스
[level 2] 연속 부분 수열 합의 개수 - 131701문제 링크성능 요약메모리: 133 MB, 시간: 774.08 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 14일 16:30:09문제 설명철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아..
[level 2] 구명보트 - 42885
·
코딩테스트/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr성능 요약메모리: 56.6 MB, 시간: 10.86 ms구분코딩테스트 연습 > 탐욕법(Greedy)채점결과 정확성: 81.5효율성: 18.5합계: 100.0 / 100.0제출 일자2024년 09월 14일 15:00:48문제 설명무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [7..
[level 1] [PCCP 기출문제] 1번 / 동영상 재생기 - 340213
·
코딩테스트/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/340213 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   import java.util.*;class Solution { public String solution(String video_len, String pos, String op_start, String op_end, String[] commands) { // 전체를 int로 변환 후 (분 + 초) 계산 int video_len_int = (Integer.parseI..
[level 2] 타겟 넘버 - 43165
·
코딩테스트/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr class Solution { int answer = 0; public void dfs(int[] numbers, int target, int sum, int depth){ if(target == sum && depth == numbers.length){ answer += 1; return; } if(dep..