
오늘의 1일 1골드 문제는 다음 문제이다. https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 문제 문제 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공..

한국의 IT 개발 취준생으로서 코딩테스트 준비는 필수라고 생각한다. 사실 많은 문제를 풀지는 않았지만 그래도 꾸준히 풀려고는 노력을 했다.(하지만 중간에 프로젝트가 있을 때에는 많이 못 풀었다ㅠ) 다음은 내가 알고리즘을 풀 때에 사용하는 사이트들이다. 하반기에 들어와서는 취업준비도 할 겸 프로그래머스에서 풀었는데, 그래도 지금은 백준에서 1일 1골드문제를 풀려고 노력중이다. - 백준 https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 이걸보면 골드3을 풀어야 티어가 오르는데.... 어떤 문제를 풀어야 할지 잘 감이 안와서 골드 4-5정도만 반복..

Logical vs. Physical Address Logical address (=virtual address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 logical address임 Physical address 메모리에 실제 올라가는 위치 주소 바인딩: 주소를 결정하는 것 Symbolic Address → Logical Address → Physical Address ↑ 이 시점이 언제인가 Symbolic Address: 프로그래머 입장에서는 숫자로 된 주소를 사용하지 않고 변수 이름이라든가 함수 이름을 가지고 주소에 접근하는데, 그것을 symbolic address라고 한다. 주소 바인딩 (Address Binding) 위에서 나온 Logica..

각자 일부 자원을 가지고 있으면서 상대방이 가지고 있는 자원을 요구하는 형태 The Deadlock Problem Deadlock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 (예) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 요청 Request, 할당 Allocate, 사용 Use, 반납 Release Deadlock Example 1 시스템에 2 개의 tape drive가 있따. 프로세스 P1과 P2 각각이 하나의 tape drive를 보유한 채 다른 하나를 기다리고 있다. Deadlock Example 2 Binary semaphores A..

이전 포스팅 https://soyeonnnb.tistory.com/30 6-1. 프로세스 동기화 Process Synchronization 데이터의 접근 Race Condition 경쟁 상태 Race condition: 하나의 데이터에 둘 이상 접근하게 되면 원하는 결과가 나오지 않을 수도 있음 OS 에서 race condition은 언제 발생하는가? kernel 수행 중 인터럽트 발 soyeonnnb.tistory.com Classical Problems of Synchronization Bounded-Buffer Problem (Producer-Consumeer Problem) Readers and Writers Problem Dining-Philosophers Problem Bounded-Buffe..

Process Synchronization 프로세스 동기화 = Concurrency control 병행 제어 데이터의 접근 Race Condition 경쟁 상태 Race condition: 하나의 데이터에 둘 이상 접근하게 되면 원하는 결과가 나오지 않을 수도 있음 OS 에서 race condition은 언제 발생하는가? kernel 수행 중 인터럽트 발생 시 Process가 system call을 하여 kernel mode로 수행 중인데 context switch가 일어나는 경우 Multiprocessor에서 shared memory 내의 kernel data 1. Interrupt handler v.s kernel 커널모드 running 중 interrupt가 발생하여 인터럽트 처리 루틴이 수행 → ..
오늘(2023.06.17) 내 인생 최초의 코테를 봤다... 물론 IM, A형, B형 시험은 제외하고.. ! 3시간동안 3문제를 풀면 되는데 왠지 모르게 한시간 반만에 3문제를 다 풀었다.그래서 30분동안 디버깅하고, 주석 좀 달다가 2시간이 지났을 때 테스트 완료했다. 오늘 코테본다고 이번주에는 알고리즘만 공부하느라 CS 공부도 하나도 못하고 했는데, 이제 다시 공부해야겠다...ㅎ어제 왜 LCA 풀고 했지.. 그냥 원래 풀던 문제들이나 좀 풀껄... 어렵게 나올 줄 알고 (나한테) 어려운 개념 공부했는데..ㅎㅎ 근데 진짜 오늘 본 시험 너무 쉬웠다. 물론 히든테케가 있을테지만 3솔할 줄이야 ,,,ㅎㅎ

CPU and I/O Bursts in Program Executionload store, add store, read from file 등 CPU만 연속적으로 사용하는 단계(CPU burst)와 I/O를 하는 단계(I/O burst)가 번갈아가며 실행된다.주로 사람이 interaction을 하는 프로그램이 이 cpu burst와 i/o burst가 자주 바뀌는 프로그램이다.하지만 쭉 계산만 한다거나 사람의 interaction이 그다지 필요 없는 프로그램은 cpu burst가 많이 나오는 프로그램이다.CPU Scheduling에서의 issue누구에게 CPU를 줄 것인가중간에 CPU를 뺏어올 수 있도록 할 것인가CPU-burst Time 의 분포여러 종류의 job(=process)이..

프로세스 생성 (Process Creation) 부모 프로세스(Parent Process)가 자식 프로세스(Child Process) 생성 보통 복제 생성을 함(추후 설명) 부모 프로세스가 자신과 같은 자식 프로세스를 생성함. 여기서 복제라는 것은 프로세스의 문맥을 모두 복사하는 것이다. code, data, stack, program counter 등 프로세스의 트리 (계층 구조) 형성 프로세스는 자원을 필요로 함 운영체제로부터 받는다 부모와 공유한다 원칙적으로 부모와 자식은 자원을 공유하지 않음 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델(일반적) 자식이 부모를 그대로 복사하면 메모리 낭비가 발생한다(같은 것이 2개가 올라가기 때문에). 그래서 ..