목록전체 글 (390)
Information Security Study
보조 기억장치(RAID)하드 디스크 드라이브플래시 메모리 기반 저장장치전원이 꺼져도 데이터를 안전하게 보관하는 기능을 하는 장치RAID는 데이터의 안정성, 성능을 확보하기 위해 여러 개의 보조기억장치를 하나의 보조기억장치처럼 사용하는 기술RAID를 구성하는 방식은 여러 가지며 레벨이라고 표현(RAID0~50) 하드 디스크 드라이브HDD, 자기적인 방식 플래시 메모리 기반 저장장치SSD, USB, 전기적인 방식 RAID0여러 개의 보조기억장치에 나눠 저장하는 방식스트라입: 분산되어 저장된 데이터스트라이핑: 분산해서 저장하는 동작장점: 빠른 입출력 속도단점: 저장된 정보의 낮은 안전성 RAID1완전한 복사본을 만들어 저장하는 방식(미러링)장점: 높은 안전성단점: RAID0보다 느린 속도 RAID4패리티 정보..
메모리휘발성 저장장치비휘발성 저장장치RAM메인 메모리와 상동휘발성 저장장치저장장치에 순차적 접근 필요 없이 곧장 접근 가능한 방식임의 접근 메모리, 직접 접근 RAM의 종류1) DRAM시간이 지남에 따라 저장된 데이터가 사라지는 RAM일반적으로 사용하는 메모리 2) SRAM시간이 지나도 저장된 데이터가 사라지지 않는 RAM전원이 끊기면 내용이 소실되기 때문에 비휘발성 저장장치보통 캐시 메모리로 사용된다.(DRAM보다 빠르고 비싸다.) 3) SDRAM클럭 신호에 맞게 CPU와 정보를 주고받을 수 있는 DRAM 4) DDR SDRAM데이터를 주고 받는 길의 너비인 대역폭을 넓혀 속도가 보다 빠른 SDRAM빅 엔디안과 리틀 엔디안메모리는 데이터를 바이트 단위로 저장한다.메모리는 CPU로부터 데이터를 워드 단위..
하드웨어 스레드와 소프트웨어 스레드의 차이동시성과 병렬성으로 구분한다. 병렬성: 작업을 물리적으로 동시에 처리하는 성질ex) 하드웨어 스레드가 4개인 CPU가 4개의 명령어를 동시에 실행하는 경우 동시성: 동시에 작업을 처리하는 것처럼 보이는 성질ex) CPU가 빠르게 작업을 번갈아서 처리하면 사용자 눈에는 동시에 처리되는 것처럼 보인다.소프트웨어 스레드는 동시성을 위해 명령어 파이프라이닝 기법을 사용한다. 명령어 파이프라이닝: 같은 단계가 겹치지 않는다면 CPU는 각 단계를 동시에 실행할 수 있다.명령어 인출명령어 해석명령어 실행결과 저장+) 여러 명령어 파이프라인을 포함하는 CPU == 슈퍼스칼라 프로세서 or 슈퍼스칼라 CPU 파이프라인 위험데이터 위험제어 위험구조적 위험(자원 위험) 데이터 위험:..
CPU 클럭컴퓨터의 부품을 움직일 수 있게 하는 시간 단위클럭 속도는 Hz 단위로 측정한다.Hz는 클럭이 1초에 몇 번 반복되는지 나타낸다.멀티코어코어CPU 내에서 명령어를 읽거나 해석, 실행하는 부품을 의미한다.이 코어는 여러개 존재할 수 있다.코어가 2개 이상이면 멀티코어 CPU(멀티코어 프로세서)로 부른다.멀티스레드스레드실행 흐름의 단위하드웨어 스레드와 소프트웨어 스레드(스레드)로 나눌 수 있다.하드웨어 스레드 (=논리 프로세서)하나의 코어가 동시에 처리하는 명령의 단위CPU 내의 명령어를 읽고, 해석하고, 실행하는 부품 하나가 한 번에 하나의 명령어를 처리한다면 1코어 1스레드 CPUCPU 내의 명령어를 읽고, 해석하고, 실행하는 부품 두 개가 한 번에 네 개의 명령어를 처리한다면 2코어 4스레드..
6096~6098번 문제에서 알게 된 점1. 리스트 문제# 좌표의 행, 열의 값을 1->0, 0->1로 뒤집는 문제d = list(list(map(int, input().split())) for _ in range(19))n = int(input())for i in range(n): x, y = map(int, input().split()) x -= 1 y -= 1 for j in range(19): if d[j][y] == 0: d[j][y] = 1 else: d[j][y] = 0 if d[x][j] == 0: d[x][j] = 1 else: d[x][j..
6091~6095번 문제에서 알게 된 점1. 종합 문제# 세 명의 문제 푸는 주기가 같아지는 날을 구하기a, b, c = map(int, input().split())# a, b, c는 세 명이 각각 문제 푸는 주기day = 1while True: if (day % a == 0) and (day % b == 0) and (day % c == 0): print(day) break else: day += 12. 리스트 문제# 입력값 중 겹치는 수 카운트하기# 호출 횟수 입력n = int(input())# 호출된 번호들을 리스트에 저장 (공백으로 구분된 n개의 숫자)tmp_list = list(map(int, input().split()))# 1번부터 23번까지..
6081~6090번 문제에서 알게 된 것1. 종합 문제### A~F 입력 시 16진수 구구단 출력하기a = input()a = int(a, 16) # 16진수 문자열을 정수로 변환for i in range(1, 16): # 1부터 15까지 print('%X*%X=%X' %(a, i, a * i))# 369 게임 중 박수 대신 X를 출력하기a = int(input())for i in range(1, a+1): # 1부터 a까지 if (i % 10 == 3) or (i % 10 == 6) or (i % 10 == 9): print('X', end=' ') else: print(i , end=' ')# r, g, b 컬러 조합 경우의 수와 총 개수 출력하기r, g,..
6061~6080번 문제에서 알게 된 것1. bitwise 연산a, b = map(int, input().split())print(a | b) # 비트단위로 or 연산 후 10진수로 출력print(a ^ b) # 비트단위로 xor 연산 후 10진수로 출력2. 삼항 연산result = (a if(a >= b) else b) # a가 b보다 크거나 같을 경우 a 출력, 아니면 b 출력3. if, elif, else문으로 조건문 작성하기# if, elif, else문으로 세 입력값 중 가장 작은 값 출력하기a, b, c = map(int, input().split())result = aif a # for문으로 a, b, c 중 짝수만 출력하기a, b, c = map(int, input().split())for..