본문 바로가기

전체 글

(386)
OS - 듀얼모드와 하드웨어 보호 듀얼모드와 하드웨어 보호 듀얼 모드 OS는 유저모드와 커널모드(관리자 모드, 특권 모드)로 나뉜다. 유저가 만약 모든 권한을 가진다면 하드웨어에게 해를 끼칠 수 있는 상황이 존재할 수 있다. I/O를 침범할 수 있다. 어떠한 프로그램이 OS상태를 바꾸거나 강제로 디스크를 탐색할 수 있다. 즉 해킹이나 불법 프로그램에 의해 의도치 않은 상황이 발생할 수 있다. 이러한 상황을 방지 하기 위해 OS는 듀얼 모드를 지원한다. CPU 레지스터는 flag를 가지고 있다. 사진의 mode bit가 레지스터가 갖고 있는 그것이다. 여기엔 여러가지 비트가 있는데 그 중 하나이다. flag비트에 따라 유저 모드와 커널 모드가 바뀌게 된다. 이것은 하나의 인터럽트로 작용한다. 인터럽트에 의한 설명은 이전 포스팅에 자세히 다..
백준 6087번 레이저 통신 (C++) https://www.acmicpc.net/problem/6087 6087번: 레이저 통신크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 www.acmicpc.net BFS , 다익스트라 문제이다. 사실 다익스트라의 정확한 정의를 모르겠다. 이 문제는 최단거리이긴 하지만 무조건 최단으로 가면 안되고 조건이 추가되었고 그 조건이 분기점이 된다. 그냥 조건이 있어도 최단거리라는 조건과 배열을 통한 조건이 있다면 다익스트라 라고 하는 것일까 ? 이건 잘 모르겠다. 아무튼, 많은 틀렸습니다와 시간초과 메모리초과 날 수 있는 건 다 났던 문제였다. 왜 정답률이 ..
OS - 인터럽트(Interrupt)의 이해와 실행과정 인터럽트는 번역하면 가로채기이다. 운영체제에서 인터럽트는 진행하던 명령에서 급한 새로운 명령을 위해 가로챈다는 의미로 쓰인다. 현재 모든 OS가 인터럽트 기반을 채택하고 있다. 기본적인 컴퓨터는 위의 사진처럼 CPU, Memory, Hard Disk의 형태를 갖는다. 처음 컴퓨터를 부팅할 때 컴퓨터에는 어떤 일이 일어날까? 먼저 ROM에서 부팅 명령어가 실행된다. 부팅 명령어는 하드디스크에서 OS가 설치된 위치를 찾아 OS를 메모리에 적재시킨다. 이렇게 되면 OS는 화면에 아이콘을 보여주고 사용자 인터페이스를 제공한다. 💡 HDD보다 SSD가 부팅이 빠른 이유가 여기 있다. 디스크에서 프로그램 위치를 찾고 프로그램을 적재하는 속도가 SSD가 훨씬 빠르기 때문이다. 이후 컴퓨터는 특정한 명령을 기다리며 아..
프로그래머스 - 다단계 칫솔(C++) https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 백엔드 직무 데브 매칭 기출 문제이다. 트리를 자식부터 반대로 타고 탐색해야하기 때문에 부모가 자식의 정보를 갖고 있게 하지 않고 자식이 부모의 정보를 갖고 있도록 해야한다. 그리고 각 노드의 이름이 문자열이기 때문에 문자열을 숫자로 변환하여 map으로 관리해주었다. 1. 문제 조건 - 돈을 번 노드부터 시작하여 그 노드의 최상단 부모까지 타고 올라가야한다. - 그러면서 번 돈을 분배하는 작업을 ..
Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation - 논문 분석 원본 : https://arxiv.org/pdf/2008.00951.pdf Pixel2Style2Pixel이라 불리는 Pix2Pix 기반 imagetoimage 프레임워크를 제안한다. 개요 Pixel2Style2Pixel: ImagetoImage 프레임워크 PsP를 제안. 일련의 style vector를 직접 생성하는 새로운 인코더와 사전 훈련된 StyleGan 생성자를 사용한다. 인코더는 추가 최적화 없이 실제 이미지를 W+ 임베딩 할 수 있다. 임베딩: 사람이 사용하는 자연어를 컴퓨터가 이해할 수 있도록 바꾸는 것 본 논문은 새로운 GAN을 제안하는 것이 아닌 인코더를 제안함. 들어가며 StyleGAN은 고해상도 이미지에서 품질이 좋으며 제어 및 편집 기능ㅇ르 제공하는 W라는 Latent Space를..
백준 15591번 MooTube (C++) https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 이제부터 문제를 풀 때 "맞았습니다" 를 보기 위해 집착하기 보다 어떤식으로 사고를 해야할지 생각하면서 풀기로 했다. 1. 문제 조건: 그래프가 주어지고 한 정점이 다른 정점으로 가는 비용 중 가장 적은 간선의 비용을 USADO로 결정한다. 즉, 지나온 간선 중 가장 적은 비용이 유사도이다. 2. 내 접근 먼저 한 정점에서 다른 모든 정점까지의 ..
StyleGAN2 Pytorch 사용법 https://github.com/rosinality/stylegan2-pytorch/tree/bb459e012489eb4629004d486f05f65fde554ba7 GitHub - rosinality/stylegan2-pytorch: Implementation of Analyzing and Improving the Image Quality of StyleGAN (StyleGAN 2) in P Implementation of Analyzing and Improving the Image Quality of StyleGAN (StyleGAN 2) in PyTorch - GitHub - rosinality/stylegan2-pytorch: Implementation of Analyzing and Improv..
백준 1941번 - 소문난 칠공주 (C++) https://www.acmicpc.net/problem/1941 1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5×5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작 www.acmicpc.net 처음에는 dfs 백트레킹 완전 탐색으로 풀어내려 했다. 그러나 백트레킹 완전탐색은 ㅗ ㅏ ㅜ ㅓ 같은 모양은 나타낼 수 없다. 이러한 문제를 테트로미노 문제에선 길이가 4밖에 안되었으니 위 4개의 모양만 따로 관리하면 되었으나 이 문제는 길이가 7이기 때문에 따로 관리하는 것이 불가능하다. 풀이 방법은 다음과 같다. 1. 총 25명의 학생 중 7명을 뽑는다 -> 조합으로 0번~24번 중 7개를 뽑는다..