분류 전체보기 291

[운영체제] PCB와 Context Switching

🔷PCB와 Context Switching의 배경 앞서 인터럽트가 왜 사용되는 지에 대해 기술했는 데, 내용은 대충 아래와 같다.  고급 인력인 CPU가 일을 하지 않고 계속해서 입출력을 하는 시간을 소비하게 된다면 인력 낭비이므로 CPU가 입출력 연산을 기다리는 동안 CPU에게 인터럽트를 걸어 다른 할 일을 하도록 하는 것이다.  더 자세한 내용은 블로그 링크로 첨부한다. https://xoxoxoxox.tistory.com/280  [운영체제] 인터럽트와 시스템 콜인터럽트와 시스템 콜운영체제는 interrupt driven이고, 운영체제에서 사용하는 interrupt를 system call이라고 한다. 따라서 운영체제의 동작 방식을 이해하기 위해선 interrupt와 system call에 대해 필..

[운영체제] 인터럽트와 시스템 콜

인터럽트와 시스템 콜운영체제는 interrupt driven이고, 운영체제에서 사용하는 interrupt를 system call이라고 한다. 따라서 운영체제의 동작 방식을 이해하기 위해선 interrupt와 system call에 대해 필히 이해하고 있어야 한다. 이 글에서는 인터럽트에 대해 먼저 알아보고, system call에 대해 기술하도록 하겠다. 인터럽트 (Interrupt)🔷인터럽트란?CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것을 말한다. 🔷 인터럽트를 왜 쓰는지..밑에 출처에 남긴 블로그에서 운영체제가 인터럽트를 사용하는 이유에 대한 엄청난 비유를 찾았다.CPU를 고급 인력..

[백준 | Java Bronze III] (#5622) 다이얼

문제https://www.acmicpc.net/problem/5622아스키 코드로 신박하게 풀고 싶었지만 알파벳의 개수가 달라서 실패.. 그냥 switch문만 쓰면 쉽게 풀 수 있었던 문제였다.  최종 코드package week8.baek.june27;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B5622 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

[백준 | Java Bronze I] (#2869) 달팽이는 올라가고 싶다

문제https://www.acmicpc.net/problem/2869접근 위 예시를 식으로 나타내면 위와 같다. A-B로 나눠주기 위해선 -B를 양변에 추가한다. 최종 코드 package week8.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B2869 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.re..

[백준 | Java Bronze I] (#1110) 더하기 사이클

문제https://www.acmicpc.net/problem/1110이슈tmp 배열을 n이랑 같게  복사해서 넣을 생각이었는 데, tmp = n을 하다보니 tmp가 n을 참조하게 돼서 tmp를 수정하면 n까지 수정하는 문제가 발생했다. 밑에처럼 고치니까 해결 됨! //문제의 코드int[] tmp = n;//고친 코드int[] tmp = {n[0], n[1]}; 최종 코드package week8.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B1110 { public static void main(String[] args) throws IOException..

[백준 | Java Bronze III] (#1598) 꼬리를 무는 숫자 나열

문제https://www.acmicpc.net/problem/1598최종 코드package week8.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B1598 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); int n = Integer.parseInt(input.split(..

[백준 | Java Bronze I] (#2309) 일곱 난쟁이 - dfs, 완전 탐색 풀이

문제https://www.acmicpc.net/problem/2309접근 dfs로 풀었는데, 찾아보니 브루트 포스(완전 탐색) 문제였다. dfs로 두 가지 버전으로 풀었는데 둘 다 통과가 되지 않는다 뭐가 문제지? --> 06.25 해결 (밑 참고) 첫번째 dfs 코드 - 실패import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Main { static int[] dorfs; static boolean[] visited; public static void dfs(int idx, int depth, int sum, St..

[백준 | Java Bronze II] (#2979) 트럭 주차

문제https://www.acmicpc.net/problem/2979접근어... 넘 어렵게 생각했다.... 0으로 초기화 된 배열을 만들고, 차가 들어올 때~ 나갈 때 시간 동안 1을 증가시키면 그 시각의 트럭의 개수를 쉽게 구할 수 있었다.  최종 코드package week8.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B2979 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRe..