Home

화면 해상도, 주사율을 CRU(Custom Resolution Utility)를 사용하여 변경하기

윈도우에서 원하는 해상도(resolution)를 설정하고 싶지만 설정이 불가능한 경우가 있습니다. 이미 고정된 값만 제공하는 디바이스 드라이버들은 변경이 불가능합니다. 또, 모니터의 최대치보다 더한 주사율(frequency)를 제공하는 경우도 있습니다. 이 경우에는 아래와 같은 프로그램을 사용하여 문제를 쉽게 해결할 수 있습니다. CRU(Custom Resolution Utility) 화면 CRU(Custom Resolution Utility) 의 경우에는 현재 사용하고 있는 디스플레이와 지원 가능한 resolution을 확인할 수 있습니다. 만약 자기가 원하는 주사율이나 화면 비율이 추가적으로 필요한 경우에...

Read more

Windows 10에서 카메라를 찾을 수 없음 (오류 0xA00F4244) 해결 방법

노트북이나 컴퓨터에 카메라가 정상적으로 설치되어 있지만, Windows 10에서 카메라를 찾을 수 없음 (오류 0xA00F4244) 에러가 뜨는 경우가 있습니다. 이런 경우에 필요한 조치들을 모아서 아래에 적어보았습니다. 노트북에 존재하는 카메라 보호 물리 스위치를 확인합니다. 노트북의 경우에는 물리적인 버튼이 카메라를 꺼버릴 수 있는데, 해당 버튼을 확인해야합니다. 노트북에 F1 ~ F12 버튼이나 다른 키보드 자판들을 보면 카메라 모양의 이미지가 새겨진 버튼이 존재하는 경우가 있습니다. 이 경우 Fn 키와 카메라 이미지가 있는 버튼을 같이 눌러주거나, 그냥 카메라 이미지가 있는 버튼을 눌러주면 카메라...

Read more

Belady의 역설이란? 개념 정리

운영체제를 공부하다보면 물리적 주소가 아닌 가상의 주소를 사용하는 가상메모리와 가상 메모리 기법 중에 큰 프로그램을 여러 개의 page 단위로 쪼개서 사용하는 paging 기법에 대하여 공부하게 됩니다. 하나의 프로그램이 수행될 때, 한 번에 메모리에 올리지 않고 page 단위로 쪼개서 사용하게 되면서, HDD나 SSD와 같은 저장장치에서 일부만 불러와서 사용할 수 있습니다. 이렇게 되면서 여러개의 프로그램을 메모리에 올릴 수 있고, 메모리 용량보다 프로그램의 크기가 큰 경우에도 수행할 수 있으며, CPU의 가용률이 더 높아지게 됩니다. 또, 부족한 메모리를 효율적으로 사용할 수 있습니다. 이후, 프로그램 전체를...

Read more

Windows에서 파일 복구가 불가능하게 만드는 방법

우리들은 Windows에서 파일을 영구 삭제를 하면 휴지통에서 복구할 수 없기 때문에, 파일을 찾을 수 없다고 생각하는 경우가 많습니다. 하지만 인터넷에 존재하는 프로그램을 이용하여 누구나 손쉽게 복구할 수 있습니다. 이는 실제로 컴퓨터에 있는 저장장치(SSD, 하드디스크 HDD)에서는 파일 데이터를 지우지 않고, Windows 상에서 파일이 없는 것 처럼 mapping에서의 연결을 끊어버리기 때문입니다. mapping이란 파일이 존재하는 위치를 표기한 일종의 작은 기록부라고 생각하면 됩니다. 따라서, 영구 삭제를 한다고 하더라도 저장장치를 다시 스캔하여 파일을 찾아낼 수 있습니다. 파일을 실제로 복구 불가능하게...

Read more

프로세스, PCB, 물리/가상 메모리, 컨텍스트 스위칭이란? 개념 정리

1. 프로세스(Process)의 개념 Windows 에서의 작업 관리자에서 확인 가능한 프로세스 프로세스(process)는 컴퓨터에서 실행되고 있는 컴퓨터 프로그램을 말합니다. OS는 프로그램이 실행되면 디스크에 있는 데이터를 메모리에 적재합니다. 2. 프로세스의 구조 및 특징 프로세스 구조 프로세스는 위와 같이 생겼으며, 해당 요소들을 가장 낮은 주소에 위치한 것부터 설명하면 아래와 같습니다. 텍스트(text) : 수행하는 프로그램 코드가 들어가 있는 영역 데이터 섹션(data) : 전역 변수들을 수록. 초기화 된 전역 변수와 초기화 되지 않은 전역 변수 영...

Read more

프로세서 레지스터와 하드웨어 레지스터란? 개념 정리

1. 프로세서 레지스터 컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억 장소로 현재 계산을 수행중인 값을 저장하는 데 사용 레지스터는 메모리 계층의 최상위에 위치하며, 가장 빠른 속도로 접근 가능한 메모리 CPU는 메인 메모리에서 캐시를 거쳐 레지스터에 데이터를 옮겨와서 데이터를 처리한 다음 다시 메인 메모리로 데이터를 넣습니다. 이런 방식을 로드-스토어 방식이라고 합니다. 프로그램이 실행될 때, 프로세스의 데이터를 연산할 때 레지스터에 데이터를 넣어 프로그램을 수행합니다. 레지스터의 종류로는 데이터 레지스터, 주소 레지스터, 범용 레지스터, 명령어 레지스터와 같은 것들이 있다. ...

Read more

반도체 공정에서 집적도(나노공정)의 개념과 줄어들 때 장점

1. 집적도란? 집적도 혹은 미세공정라는 용어는 반도체에서 많이 사용합니다. intel의 경우 얼마 전 10nm 공정 지연을 발표하면서, 주가가 16% 급락하기도 하였습니다. 집적도는 무엇일까요? 집적도는 동일한 면적이라고 가정했을 때, 반도체 칩이 얼마나 많은 논리소자(논리연산을 하는 최소 단위의 회로)로 구성되어 있는지를 나타내는 척도로 사용합니다. 집적도가 높으면 공정이 더 많은 논리소자가 동일 면적에 들어가있다고 볼 수 있죠. 현재 반도체의 공정에 사용되는 단위는 nm(나노미터)입니다. 나노미터는 $ 1nm = 10^{-9}m $ 의 크기로 굉장히 미세한 크기입니다. 2020년 10월 2일 현재 inte...

Read more

[프로그래머스] K번째수 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42748 2. 풀이 복잡도 계산 없이 정렬 후에 해당 인덱스의 숫자를 출력하면 되는 간단한 문제입니다. def solution(array, commands): answer = [] for _from, _to, idx in commands: answer.append(sorted(array[_from-1:_to])[idx-1]) return answer

Read more

[프로그래머스] 정수 삼각형

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/43105 2. 풀이 dp를 이용하여 문제를 해결합니다. 이전 합들 중에서 자신에게 올 수 있는 값 중 더 큰 값과 자신의 값을 더해주는 과정을 반복합니다. def solution(triangle): sum_list = [[0] * (len(triangle)) for _ in range(len(triangle))] sum_list[0][0] = triangle[0][0] for row in range(1, len(triangle)): sum_list[row][0] = t...

Read more

[프로그래머스] 가장 먼 노드

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/49189 2. 풀이 BFS 를 이용해서 가장 마지막의 높이에 존재하는 노드의 개수를 세어주면 됩니다. from collections import deque def solution(n, edge): answer = 0 road = {} is_visited = [False] * (n + 1) for a, b in edge: ## 갈 수 있는 길을 dictionary 를 이용하여 표현 if a not in road: road[a] = []...

Read more