본문 바로가기

잡다한 IT관련 지식8

캐시(cache) 캐시(cache캐쉬, 고속완충기, 고속완충기억기) 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다.(캐시를 사용하는 이유) 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 출처:https://ko.m.wikipedia.org/wiki/캐시 2019. 10. 27.
메모리 계층 구조 메모리 계층 구조(Memory hierarchy)란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미한다. 이때 필요란 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이다. 일반적으로 아래 사진과 같이. 레지스터와 캐시는 CPU 내부에 존재한다. 당연히 CPU는 아주 빠르게 접근할 수 있다. 메모리는 CPU 외부에 존재한다. 레지스터와 캐시보다 더 느리게 접근 할 수 밖에 없다. 하드 디스크는 CPU가 직접 접근할 방법조차 없다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 한다. 아주 느린 접근 밖에 불가능하다. CPU는 작은 메모리에 더 빨리 접근할 수 있다. 다음과 같은 관점들로 CPU가 작은 메모리에 더 빨리 접근할 수 있는.. 2019. 10. 27.
프로세스 구성 요소 프로세스 구성 요소 프로세스를 구성하는 중요한 구성 요소로는 프로세스를 구별하는 유일한 요소인 PID, 현재 프로세스를 만든 부모 프로세스를 나타내는 PPID 프로그램을 실행한 사람의 정보를 나타내는 UID/GID 프로세스가 파일에 대해 가지는 권한을 나타내는 EUID/EGID 프로그램을 실행한 터미널을 나타내는 CONTROL TERMIAL, 쉘 프롬프트에서 입력한 명령어,옵션,아규먼트와 입력 시간 프로세스가 동작한 시간 등 많은 정보가 있다. PID(Process identification Number)는 프로세스 각각을 구별할 수 있는 유일한 데이터 PPID(Parent Process Identification Number)는 프로세스를 만든 부모 프로세스의 PID를 나타내는 값 프로그램을 실행한 프.. 2019. 10. 23.
SQL Injection 공격 대응방안:Prepared Statement를 사용하는 이유 1. Prepared Statement 사용하는 이유를 설명하고자 한다. SELECT 문 실행 과정 웹 상에서 입력한 쿼리는 DBMS 내부적으로 4가지 과정(parse,bind,execute,fetch)를 거쳐 결과를 출력한다. 특히 쿼리의 문법을 검사하기 위해 가장 먼저 parse과정을 거치게 되는데, 입력한 쿼리의 결과를 다음과 같이 파싱하여 트리를 생성한다. statement와 Prepared Statement의 차이(파싱과 바인딩) 일반적인 Statement를 사용하여 SELECT 쿼리를 입력했을 때에는 매번 pares부터 fetch까지 모든 과정을 수행한다. Prepared Statement를 사용하는 경우 효율을 높이기 위해 pare과정을 최초 1번만 수행하고 이후는 생력 할 수 있다. Par.. 2019. 10. 23.