반응형

전체 글 409

[운영체제] Banker's algorithm(은행원 알고리즘) 구현 - Deadlock

안녕하세요 BlockDMask 입니다.2017/11/24 - [/[Operating System]] - [운영체제] Deadlock(교착상태)에 대해서지난시간에 이어서 이번시간에는 Deadlock(교착상태)를 회피하거나 탐지할 때 사용할 수 있는 은행원 알고리즘(Banker's algorithm)을 구현해보겠습니다.문제는 공룡책 8th 7.10번 문제입니다.**직접 구현한 것이라,, 많이 부족할 수 있습니다. 보완이 필요한 부분은 댓글로 달아주시면 감사하겠습니다. 1. 구현할 내용현재 시스템의 상태를 아래와 같이 정의 하겠습니다. 프로세스가 안전한지(deadlock 이 발생하지 않는지) 확인할 수 있고 프로세스가 어떤 순서로 자원을 할당 받는지 볼 수 있도록 구현하겠습니다. Allocation Max A..

[운영체제] Deadlock(교착상태)에 대해서

안녕하세요. BlockDMask 입니다.오늘은 deadlock 에 대해서 알아볼까 합니다.deadlock 이 무엇인지, deadlock을 처리하는 전체적인 그림에 대해서 보겠습니다.뭐가 뭔지 전체적으로 그림이 잡히지 않아서 그려보았습니다.1. deadlock 이란.?deadlock(교착상태)란 둘 이상의 Process가 서로가 가진 Resource를 요구하면서 각자의 Resource를 놓지 않아서 더이상 작업수행을 할 수 없이 무한하게 대기 상태로 놓인 상태를 말합니다. 멀티프로세스나 멀티스레드 환경에서 여러 프로세스들이 한정된 자원을 사용하기 때문에 발생할 수 있습니다. deadlock은 4가지 필요조건이 성립할때 발생할 수 있습니다. 시스템이 deadlock 상태가 되지 않도록 보장하기 위하여 dea..

[백준 2446] 별찍기9

안녕하세요. BlockDMask 입니다.별찍기 시리즈중 아홉번째 입니다. 171101 문제 빼먹음 -> 171121 완료0. 제목백준 2446 별찍기9BOJ 2446 별찍기9C++ 별찍기1. 문제 설명모래시계 모양으로 별을 찍으면됩니다. 2. 풀이 과정어제 밤에 했던 2017/11/20 - [/[C++] BAEKJOON] - [백준 2445] 별찍기8 에서 조금 수정하여 코드를 완성했습니다. 3. 소스 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546//https://www.acmicpc.net/problem/2446//BOJ_2446_star9 #include#includeusing namespac..

[백준 10820] 문자열 분석

안녕하세요. BlockDMask 입니다.오늘의 문제 풀어보겠습니다.0. 제목백준 10820 문자열 분석BOJ 10820 문자열 분석C++ 문자열C 문자열1. 문제 설명문자열 N개가 주어진다.이 때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.입력 첫째 줄부터 N번째 줄 까지 문자열이 주어진다. (1

[데통] 왜 OSI 7계층을 나누었을까?

안녕하세요 BlockDMask 입니다. 오늘은 왜 굳이 OSI 7 계층으로 나누었나... 에 대해서 알아보겠습니다. 각 계층별 자세한 설명은2017/09/11 - [/[데이터 통신]] - [데통] OSI 7계층, Network의 구조, NIC2017/10/19 - [/[데이터 통신]] - [데통] OSI 7계층과 TCP/IP 4계층, 계층별 데이터 단위 위 두개의 포스트에 있습니다. " 통신그거 그냥 각자 알아서 하면되지, 굳이 OSI 7계층으로 나누었나.. ""휴 대답못했어" => 표준화를 통해서 다른 회사에서 만든 제품끼리도 통신이 될 수 있도록 하기위해(하드웨어 제조업체들의 공통의 플랫폼을 만들수 있다.) => 큰 단위의 데이터를 작은 단위로 나누고 나누어서 이해하기 쉽고 관리 및 문제 해결이 쉽게..

[백준 10971] 외판원 순회 2 (DFS)

안녕하세요. BlockDMask 입니다.오늘의 문제 풀어보겠습니다.0. 제목백준 10971 외판원 순회 2BOJ 10971 외판원 순회 21. 문제 설명외판원 순회 문제는 영어로 Traveling Salesman Problem(TSP)라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자.1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다.) 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다.단, 한번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 ..

[백준 1120] 문자열

안녕하세요. BlockDMask 입니다."C 스타일을 C++ 로 바꾼다" 가 아니라...."C++ 스럽게, OOP 스럽게 코딩한다." 라는게 흠..여기서 클래스를 만들고 객체를 생성하는게 맞는건가?이렇게 짧은 문제에서도 확장성을 생각해서 코드를 짜는게 맞는건가?여러 생각이 들면서문제를 풀어도코드를 계속계속 살펴보게되네요;;아무튼 오늘의 문제 풀어봤습니다.0. 제목백준 1120 문자열BOJ 1120 문자열C, C++ 문자열1. 문제 설명길이가 N으로 같은 문자열 X와 Y가 있을때, 두 문자열 X와 Y의 차이는 X[i] != Y[i] 인 i의 개수 이다. 예를 들어, X="jimin", y="minji" 이면, 둘의 차이는 4 이다.두 문자열 A와 B가 주어진다.이 때, A의 길이는 B의 길이보다 작거나 같..

[백준 2443] 별찍기6

안녕하세요. BlockDMask 입니다.별찍기 시리즈 14개 중에 6번째 입니다.C++ 스타일로 해보려하는데.. 이상하면 말씀해주세요..171025 문제 빼먹음 -> 171114 완료역 피라미드형!0. 제목백준 2443 별찍기6BOJ 2443 별찍기61. 문제 설명첫째 줄에는 별 2*n-1개 둘째 줄에는 별 2*N-3개 . . . N번째 줄에는 별 1개를 찍는 문제입니다. 별은 가운데를 기준으로 대칭 이어야합니다.입력 : 첫째 줄에 N(1=0; i--) printStar(i); //변경된 곳 } void printStar(const int& i) const{ for(int j=0; j n; star *s = new star; s->solve(n); return 0;}Colored by Color Scri..

[백준 11721] 열 개씩 끊어 출력하기

안녕하세요 BlockDMask 입니다. 오늘자 문제 풀어보겠습니다. C++ 스타일로 코드를 짜보려 시도했습니다.0. 제목 백준 11721 열 개씩 끊어 출력하기 BOJ 11721 열 개씩 끊어 출력하기 C/C++ 문자열 1. 문제설명 알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다. 한 줄에 10 글자씩 끊어서 출력하는 프로그램을 작성하시오. 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. 입력으로 주어진 단어를 열 개씩 끊어서 한 줄마다 출력한다. 단어의 길이가 10의 배수가 아닌 경우의 마지막 줄에는 10개 이하의 글자가 출력될 수 있다. 2. 풀이과정 알고리즘이 돌아가는 부분과 출력부..

[백준 2442] 별찍기5

안녕하세요 BlockDMask 입니다.별찍기 14개 중에 5번째 입니다.사촌형님이 제 스타일이 너무 C언어 스타일이라 하셔서;;C++ 스타일로 해보려고 시도 하고 있습니다.혹시 이상한 점이 있으면 말씀해 주세요! 171024 문제 빼먹음 -> 171113 완료0. 제목백준 2442 별찍기5BOJ 2442 별찍기51. 문제 설명첫째 줄에는 별 1개, 둘째 줄에는 별 3개 N 번째 줄에는 별 2*N-1개를 찍는 문제입니다. 별은 가운데를 기준으로 대칭 이어야합니다.입력 : N (1 n; for(int i=0; i

[백준 2839] 설탕 배달

안녕하세요. BlockDMask 입니다.글을 오랜만에 올리는거 같습니다. 171023 문제 빼먹음 -> 171112 완료0. 제목백준 2839 설탕 배달BOJ 2839 설탕 배달1. 문제 설명상근이가 설탕 공장에서 설탕을 배달하고 있습니다. 상근이는 지금 설탕 가게에 설탕을 정확하게 N 킬로그램을 배달해야 합니다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있는데, 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있습니다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 합니다.예를 들어, 18 킬로그램 설탕을 배달해야 할때, 3킬로그램 봉지 6개를 가져가도 되지만 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달 할 수 있습니다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할..

[백준 2441] 별찍기4

안녕하세요. BlockDMask 입니다.별찍기 4 입니다. 170907 문제 빼먹음 -> 171106 완료0. 문제백준 2441 별찍기4BOJ 2441 별찍기4C언어 별찍기C++ 별찍기1. 문제 설명첫째 줄에는 별 N개 둘째 줄에는 별 N-1개 셋째 줄에는 별 N-2개 . . . N-1번째 줄에는 별 2개 N번째 줄에는 별 1개 를 출력하는 문제.오른쪽을 기준으로 정렬!! 첫째 줄에 N(1 n; for(int i=0; i

반응형