본문 바로가기

전체 글

(341)
[OS] 6-2. Process Synchronization II Chapter 6-2. Process Synchronization II Bounded - Buffer Problem버퍼의 크기가 유한한 환경에서 생산자와 소비자 사이에서 발생하는 문제를 말한다.생산자 프로세스, 소비자 프로세스 이 두 프로세스는 하나 씩만 존재하는 것이 아니라 여러 개씩 존재한다.생산자 프로세스의 역할은 데이터를 만들어서 공유 버퍼에 집어 넣는 역할을 하고소비자 프로세스는 그 반대로 버퍼에 있는 데이터를 꺼내가는 역할을 하게 된다. 이로 인해 어떤 문제들이 발생할 수 있을까?첫번째는 생산자 두 개가 하나의 버퍼에 동시에 데이터를 넣게 되는 경우이다.하나의 프로세스가 접근을 하게 되면 공유 버퍼에 lock을 걸게 될텐데,동시에 락을 걸게 되는 것인가? 의 문제이다.두번째는 소비자 프로세스 ..
[OS] 6-1. Process Synchronization I Chapter 6-1. Process Synchronization I Process Synchronization : 프로세스 동기화= Concurrency Control : 병행 제어 여러 주체(객체)가 하나의 데이터를 동시에 접근하려고 할 때를 Race Condition이라고 한다.데이터의 촤종 연산 결과는 그 데이터를 마지막에 다룬 프로세스에 따라 달라진다.동시에 접근했더라도 연산의 수행이 더 늦게 끝나는 프로세스의 결과값을 따르게 된다.즉,공유데이터(shared data)의 동시접근(consistency access)는 데이터의 불일치 문제를 발생시킬 수 있다는 이슈이다.그리고 우리는 이것을 조율해줘야 하는 문제가 발생한다.공유 메모리를 사용하는 프로세스 사이에서 발생할 수도 있고,커널 내부 데이터..
[UX] 8. (최종) 프로젝트 회고 Design Project / 코딩보다 청춘 팀 / TripSynC 회고3개월에 걸친 프로젝트였다.목표는 프로토타입 제작까지였고 다행이 목표까지는 달성한 것 같다.생각보다 많은 교수님이 우리의 아이디어가 괜찮다고 한다.심지어 카카오톡에서 기획자로 일하고 계시는 분도 '해볼만하다'라고 하셨다.황송할 정도로의 극찬이었다.3개월의 고생으로 쌓인 피로가 다 날라갔다. 나는 이번 프로젝트를 통해 무엇을 경험하였고, 무엇을 얻었는가?1. 서비스를 보는 시각이 달라졌다. 어떤 새로운 서비스나 이용하던 서비스를 다른 시각에서도 볼 수 있게 되었다.의심을 품고 객관적인 시각으로 서비스를 깊게 보면정말 사용자의 입장에서 생각하고 만든 것일까의심이 들 정도로 이해가 안되는 방향으로 런칭되는 서비스들이 존재하고기존의 서비스의..
[UX] 7. 도출한 최종 아이디어 / Web 여행 전에 계획을 세울 때는 웹으로 많이 계획을 세우기 때문에, 계획 세우는 단계에서는 웹에서 대부분의 지원을 하기로 기획하였다. 핵심기능 1. 모듈(Module) 모듈이란, 일종의 여행 정보 집합체 같은 의미로 기획하는 서비스 전반에 있어서 가장 핵심부분을 차지한다. 작은 일정이라고 할 수 있으며, 모듈 안에는 여행지에 대한 위치, 여행지에서 소요되는 대략적인 시간과 비용, 주변 정보 그리고 그 여행지에 대한 다녀온 사람들의 평가가 담겨져 있다. 이 서비스를 이용하는 사람들은 이 모듈을 통해서 계획을 보다 손쉽게 세울 수 있다. 핵심기능 2. 계획표 인터페이스 제공 표를 만들고, 시간에 대한 고민을 하고, 이동에 걸리는 시간은 얼마인지 계산해야 하고, 여행을 준비하는데는 많은 정보들이 필요하다. 이러한..
[OS] 5-2. CPU Scheduling II Chapter 5-2. CPU Scheduling II 앞서 살펴본 CPU Scheduling에 대한 구체적인 알고리즘을 살펴보겠다. FCFS(First Come First Served) 먼저 온 사람에게 먼저 제공한다는 뜻으로 먼저 할당 요청을 한 프로세스에게 CPU를 할당한다. 즉, 먼저 요청한 순서대로 처리하는 단순한 알고리즘이다. 비선점형 스케줄링이며 효율적이지 않다. 여기서 Nonpreemptive(비선점형)하다는 것은 일단 CPU를 할당받으면 자신의 작업을 모두 마치기 전까지, 즉 CPU burst가 완료되기 전까지 CPU를 반환하지 않는다는 의미이다. 문제점 convoy effect 발생 convoy effetct 란 소요시간이 긴 프로세스가 먼저 도달하여 시간을 잡아먹고 있는 부정적인 현상..
아가씨 / 박찬욱 감독 / 김민희, 김태리, 하정우, 조진웅 주연 / 2016 박찬욱 감독님의 영화가 개봉되었다.믿고 보는 하정우, 말이 필요없는 조진웅, 그리고 김민희라는 이름이 스펙인 김민희, 화려한 데뷔의 신인 김태리의 주연으로개봉 전 부터 주목을 받은 작품이다.나 또한 많은 기대를 하고 있는 작품이었기에 개봉하는 날 바로 영화관으로 달려갔다. 기자 평점이 7점 위라면 적어도 돈 낭비는 하지 않을 거라는 생각으로 영화표를 구매하게 된다.이 영화는 조금 예외인게, 박찬욱 감독님 작품이다.영화가 잘 빠졌다면(?) 두 번이라도 볼 수 있는 것이다.글쎄,영화를 보고 나와서는 두 번까지(?)라는 생각이 들었다. 개인적인 영화에 대한 의견영화의 구성은 대략적으로 세 부분으로 나눌 수 있다.속이려고 하는 타겟팅을 기준으로 내 나름대로 나눈 것이다.처음에는 김민희가 타겟팅이었고, 그 다음은..
[회고] 5월 끝자락 겸, 한 학기에 대한 회고 이렇게 3,4,5월 3달이 지났다.벌써 한 학기가 끝이 난 것이다.3개월의 결과는 그리 좋지 않았다.내가 원하는 공부가 아니었다.들었던 수업의 절반에 흥미가 없었고,내가 스스로 공부하고 싶은 부분을 공부했다.겉핥기 식이라고 비판할 수도 있을 만큼 공부했지만많은 분야에 대해서 알게 되었다고 자부한다.내가 앞으로 무엇을 공부해야하는지 알게 되었다고 당당히 말할 수 있다. 성적에 목을 매는 이유를 모르겠다.물론 성적을 잘 받게 되면, 자신감도 상승하고 기분도 좋아진다.그래서 내가 자신감이 약간 떨어진 것 같기도 하고 기분도 썩 그리 좋지는 않다.그래서 다음 학기는 내가 듣고 싶은 과목만 딱 들을 예정이다.그것도 세 과목만.정말 이래 저래 힘겨운 3개월이었다. 지난 달보다 발전했다고 자부한다. 하...남들과는 ..
[OS] 5-1. CPU Scheduling I Chapter 5-1. CPU Scheduling I프로그램이 실행되면, 실행되면서 거치는 일련의 path가 존재한다.CPU가 일을 수행하고, I/O 작업 요청에 대한 응답을 기다리는 일을 반복한다.CPU가 일을 수행하는 시간을 CPU burst time 이라고 하고,I/O 요청에 대한 응답을 기다리는 시간을 I/O burst time 이라고 한다. CPU 스케줄링이란 무엇인가CPU 스케줄링이란 CPU입장에서 또는 프로세스 입장에서최고의 효율성을 보이며, 공평하게, CPU를 프로세스에게 분배하는 알고리즘, 방법을 의미한다. 스케줄링의 대상은 이미 Ready queue에 들어온 프로세스를 대상으로 진행된다. CPU 스케줄링이 필요한 이유프로그램마다 두 시간의 비율이 다르다.I/O 작업이 빈번한 작업(I/O..