1. 서비스 공격 유형 - 특정한 네트워크나 웹 리소스에 합법적인 유저가 접근하지 못하도록 방해하는 것 - 막대한 양의 트랙픽을 통해 특정 대상(흔히 웹 서버)에 과부하를 주거나, 악의적인 요청을 보내 해당 리소스가 오작동을 일으키게 하거나 완전히 정지 (1) 죽음의 핑 - 인터넷 프로토콜 허용 범위가 65,536바이트 이상되는 큰 패킷을 일부러 전송한 뒤 시스템을 마비시키는 공격 cf) 패킷이란? 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록, 제어 정보와 사용자 데이터로 이루어짐 ex) IP 패킷 (2) 스머핑 - 인터넷 프로토콜(IP), 브로드캐스트나 기타 인터넷 운용 측면을 이용하여 인터넷망을 공격하는 행위 - 스머핑은 IP와 인터넷 제어 메시지 프로토콜(ICMP)의..
1. 기억장치는 왜 나뉘어져 있을까? - 컴퓨터는 각각의 특징이 있는 서로 다른 여러 종류의 저장장치를 함께 사용해서 "최적의 효율"을 낼 수 있어야 한다. 저장장치 계층 구조의 특징 - 주기억장치는 각기 자신의 주소를 가지는 워드 또는 바이트들로 구성되어 주소를 이용하여 접근 - 보조기억장치에 있는 프로그램이나 데이터는 CPU가 직접 액세스 할 수 없음 - 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스 2. 주기억장치와 보조기억장치(하드디스크) - 주기억장치 => 레지스터, 캐시, RAM - 보조기억장치 => 하드디스크 기억장치의 관리 전략의 개요 - 3치 : 반입(Fetch), 배치(Placement), 재배치(Replacement) 전략 반입 배치 재배치 - 보조기억장치에..
1. 운영체제란? 사용자 응용프로그램 유틸리티 운영체제 하드웨어 - 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 - 운영체제는 컴퓨터를 편리하게 사용하고 컴퓨터 하드웨어를 효율적으로 사용할 수 있게 함 - 운영체제는 스스로 어떤 유용한 기능도 수행하지 않고 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 마련해줌 - 중앙처리 장치의 시간, 메모리공간, 파일, 기억장치 등의 자원 관리 - 자원의 스케줄링 기능 제공, 자원 보호 기능 제공 1.1 운영체제 목적 - 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 기간 단축 1.2 운영체제 성능 판단 요소 - 처리 능력, 반환 시간, 사용가능도, 신뢰..
1. 캐시(cache) 란? - '숨기는 장소' = 임시 저장소 - 사용 빈도가 높은 데이터를 고속으로 액세스 할 수 있는 위치에 두는 것 - CPU의 1차캐시, 2차캐시, 저장도캐시, OS 페이지 캐시, 데이터베이스 버퍼 캐시 KVS(데이터를 메모리에 캐시하는 것) - 데이터를 잃을 위험이 있어서 캐시 데이터가 손실되어도 괜찮은 경우에 주로 사용 ex) 스트리밍 서비스 등... 2. 캐시의 장단점 (1) 장점 - 데이터에 고속으로 액세스 가능 - 실제 데이터에 대한 액세스 부하 줄일 수 있음 (2) 단점 - 캐시데이터가 손실 될 수 있음
프로세스와 스레드 (1) 프로세스 - 프로세서에 의해 처리되는 사용자 프로그램이나 시스템 프로그램을 의미 - 실행 중인 프로그램을 의미하며 작업 혹은 태스크라고도 함 - 개별 처리 독립성이 높음 - 하지만 생성 시 CPU 부하가 높음 - 프로세스가 메모리 공간을 공유 할 수 없는 것은 아님 PCB(Process Control Block) - 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳 - 프로세스가 생성될 때마다 고유의 PCB를 생성하고 프로세스 완료 시 제거됨 - PCB에 저장되는 정보 -> 프로세스 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세스의 우선순위, CPU 레지스터 정보, 주기억장치 관리 정보, 입출력 상태 정보, 계정 정보 프로세스 상태 전이 관련 용어 - D..
1. 물리 서버 - 서버는 rack이라는 것에 장착됨 - rack에는 서버 외에도 HDD 등이 있음 * 서버 설치 시 중요한점? - 서버크기(U) - 소비 전력(A) - 중량 2. CPU - Central Processing Unit => 서버 중심에 위치해서 연산 처리를 하는 것 - 명령을 받아서 연산을 실행하고 결과를 반환 - 명령과 데이터는 기억장치나 입출력 장치를 통해 전달 - 연산 1초에 10억회 이상 실행가능 - 하나의 CPU는 여러개의 '코어'존재 => rkrwkdml ehrflqehls cjfl rksmd 3. 메모리 - 기억영역 - CPU 옆에 위치,CPU에 전달하는 내용이나 데이터를 저장하거나 처리 결괄르 받음 - 메모리에 저장되는 정보는 영구성이 없 - 캐시를 여러단으로 배치해서 대기..
Q. 아키텍쳐란? A. 아키텍처는 컴퓨터 시스템을 구성하고 있는 하드웨어 장치인 CPU, 레지스터, 기억 장치, 입출력 장치 등과 같은 여러 가지 컴퓨터 구성 요소들에 대한 전반적인 기계적 구조와 이를 설계하는 방법 1. 집약형, 분할형 아키텍쳐 (1) 집약형 아키텍쳐 - 대형 컴퓨터 - 해당 기업의 주요 업무를 모두 한대로 처리 - 한대의 대형 컴퓨터만 필요하기 때문에 구성간단, 안정성 높고 고성능 - 하지만 비용소모가 크고 확장성 한계 존재 (2) 분할형 아키텍쳐 - 개별 컴퓨터의 안정성이 낮아도 괜찮음 - 서버대수를 늘릴 수 있음 - 하지만 대수가 늘어나면 관리 구조가 복잡 (3) 서버 - 서버란? 하드웨이를 가리키는 경우도 있고, 컴퓨터에서 동작하고 있는 소프트웨어를 가리킴 - 웹서버 - 인터넷에..
컴파일러란? (@:jupyter notebook -notebook dir = "D://") jupyter 환경변수 프로그램을 짠다는 것은 언어의 문법에 맞게 명령들을 작성하는 것 원시파일(Source fIle) : 언어의 문법에 맞게 명령을 기술한 파일 원문 그대로 소스라고 부른다 소스는 고급언어로 작성되어 있기 때문에 컴퓨터가 바로 이해할 수 없으며 따라서 시행할 수도 없다 컴파일(Compile) : 소스를 컴퓨터가 이해할 수 있는 기계어 코드로 번역하는 작업 컴파일러(compiler) : 컴파일를 시행하는 프로그램