CS지식
-
RAID란 무엇인가CS지식/운영체제 2021. 7. 15. 22:59
RAID는 자동으로 백업을 하고 장애가 발생하면 복구하는 시스템으로 동일한 규격의 디스크를 여러 개 모아 구성하며 장애가 발생했을 때 데이터를 복구하는 데 사용된다. RAID는 왜 나오게 된 것일까? 요즘 시대에 아마도 휴대폰은 하나씩 소유하고 있을 것이다. 휴대폰 뿐만 아니라 PC, 카메라 등 다양한 개인 디지털 기기가 늘어나면서 개인 데이터의 크기도 급격히 증가하게 되었다. 이러한 데이터를 저장장치에 보관할 때는 백업을 해야한다. 그 이유는 하드디스크에 저장된 데이터가 영구적일 것 같지만 하드디스크도 수명이 존재하고 기타 저장매체에는 최대 사용 횟수가 정해져 있기 때문이다. 따라서 저장장치에 있는 중요한 데이터는 수시로 백업을 해주어야하는데 이를 수동으로 하면 매우 귀찮을 것이다. 또한 얼마나 자주해..
-
스레싱(thrashing)이란 무엇인가CS지식/운영체제 2021. 7. 13. 23:17
우리는 컴퓨터에서 실제 물리 메모리 이외에 프로세스만의 가상 메모리를 사용하며 주소 변환을 통해 물리 메모리에 접근한다고 배웠다. 또한, 페이징 기법이나 세그멘테이션 기법을 통해 나뉘어진 조각들은 물리 메모리에 위치할 수도 있고 스왑영역에 위치할 수도 있다는 것을 배웠다. 하나의 프로세스가 작업 중이라고 해서 프로세스의 전체 데이터가 물리 메모리의 전체 영역에 할당되는 것은 비효율적이기때문에 그때 그때 필요한 부분만 물리 메모리에 올리고 쓸 일이 없는 부분은 스왑영역에 올려 메모리 관리를 효율적으로 진행한다. 현재 CPU를 점유하고 있는 프로세스가 필요로 하는 데이터가 물리 메모리에 없다면 swap in과 swap out을 통해 필요한 데이터를 스왑영역에서 물리 메모리에 올리고 물리 메모리에 있던 어떠한..
-
내용 협상(content negotiation)이란 무엇인가CS지식/네트워크 2021. 7. 12. 22:04
내용 협상(content negotiation)은 왜 도입된 것일까? 상황을 가정하여 생각해보자. www.naver.com이라는 네이버 사이트는 한국인이 접속을 하기도 하고 외국인이 접속을 한다고 생각해보자. 사용언어가 다른 두 클라이언트는 그냥 www.naver.com URL로 접속을 할 것이다. 이 때, 서버는 클라이언트에게 그냥 한국어로 된 웹 페이지로 응답하면 될까? 그렇다면 외국인은 네이버 사이트를 이용하기 힘들 것이다. 그러면 웹 서버는 한국어 버전과 다른 언어 버전으로 되어 있는 네이버 웹 페이지 리소스를 가지고 있을텐데 어떻게 판단하여 클라리언트에게 적합한 버전을 보낼 수 있을까? 여기서 필요한 개념이 내용 협상(content negotiation)이라는 것이다. 내용 협상을 통해 하나의 ..
-
세그멘테이션 기법이란 무엇인가CS지식/운영체제 2021. 6. 24. 22:11
세그멘테이션 기법은 가변 분할 방식으로 물리 메모리를 프로세스의 크기에 따라 가변적으로 나누어 사용할 수 있다. 세그멘테이션 기법에서는 세그멘테이션 테이블이라는 매핑 테이블을 사용한다. 세그멘테이션 테이블에는 세그멘트의 크기를 나타내는 limit와 물리 메모리의 어디에 위치했는지, 시작 위치를 나타내는 address가 있다. 순서는 가상 메모리에서의 세그멘트 번호에 따라 순차적으로 저장된다. 세그멘테이션 기법은 프로세스의 크기에 따라 메모리를 가변적으로 분할하기 때문에 매핑 테이블에 크기 정보를 포함해야한다. 만약에 프로세스가 물리 메모리에 올라갈 공간이 없다면 스왑 영역에 올려 놓는다. 이렇게 프로세스가 스왑 영역에 올려져있다면(위 그림에서는 프로세스 D를 말함) 세그멘테이션 테이블에서 address에..
-
HTTPS란 무엇인가CS지식/네트워크 2021. 6. 23. 22:29
HTTP에는 사용자를 식별해주고 인증해주는 좋은 기능이 존재한다. 하지만, HTTP에서 제공하는 식별과 인증기능은 악의적인 사용자들의 도청이나 위조같은 위협에 있어 안전하지 않다. 강력한 보안이 보장되지 않는다면 사용자 입장에서 안심하고 서비스를 이용할 수 없을 것이다. HTTP를 이용하는 통신에서 강력한 보안을 제공하기 위해서는 추가로 디지털 암호화 기술을 결합해야한다. 그 중 하나가 HTTPS라는 것이다. HTTPS는 HTTP를 안전하게 만드는 방식 중 하나로 가장 보편적으로 사용하는 것이다. 우리가 URL을 보면 http://로 시작하는 것을 볼 수 있고 https://로 시작하는 것을 볼 수 있을 것이다. 여깃 https://로 시작한다면 해당 웹 페이지는 HTTPS로 통신이 이루어진다는 것을 알..
-
기초가 튼튼한 데이터베이스(저자 이종만) 후기CS지식/데이터베이스 2021. 6. 22. 23:40
기초가 튼튼한 데이터베이스 후기 KOCW에서 백현미 교수님의 데이터베이스의 원리와 응용 강좌를 13일동안 들으면서 기초를 다지고 처음에는 real my sql책을 통해 공부를 하려고 했다. http://www.yes24.com/Product/Goods/6960931 Real MySQL - YES24 Real MySQL, MySQL의 새로운 발견!더 이상 MySQL은 커뮤니티나 소셜 네트워크 서비스와 떼어놓을 수 없는 관계에 있다는 것은 누구나 잘 알고 있을 것이다. 하지만 MySQL은 여기서 그치지 않고 빌링이나 www.yes24.com 하지만, real my sql을 혼자서 독학으로 보기에는 한장을 이해하고 넘기기도 너무 벅찼다. 그래서 조금 더 개념에 중점을 두어 기초를 확실히 다지고 이렇게 다진 기..
-
OLAP란 무엇인가? (기초가 튼튼한 데이터베이스 완독!!)CS지식/데이터베이스 2021. 6. 22. 22:41
OLAP는 Online Analytical Processing의 약어로 최종 사용자가 다차원 정보에 직접 접근하여 대화식(마치 컴퓨터와 직접 대화하는 것처럼)으로 정보를 분석하고 의사결정을 지원하는 시스템이다. 간단히 말하면, 어떠한 의사결정을 하려고 하는데 필요한 정보를 얻어 도움을 받을 수 있고 정보를 분석할 수 있는 일종의 툴이다. 먼저 OLAP는 어떠한 기능을 가지고 있는지 알아보자. 1) pivoting pivoting은 데이터를 분석하는 dimension을 사용자의 요구에 따라 다양한 기준으로 전환하여 볼 수 있는 기능이다. 예를 들어, A F&B기업의 지역별 가맹점 매출을 보여주는 데이터를 날짜별(연도, 달..)로 가맹점 매출을 볼 수 있게 전환시킬 수 있는 것이다. 2) filtering ..
-
페이징 기법이란 무엇인가CS지식/운영체제 2021. 6. 21. 22:03
페이징 기법은 고정 분할 방식으로 메모리를 분할하여 가상 주소를 물리 주소로 변환하는 방법이다. 위 그림을 보면 가상 메모리는 프로세스 입장에서 바라본 메모리 공간으로 항상 0번지부터 시작한다. 가상 메모리의 분할된 영역은 페이지(page)라고 하며 첫 번째 영역을 페이지 0으로 번호를 매겨 아래로 순차적으로 번호를 매긴다. 물리 메모리의 각 영역은 가상 메모리와 구분하기 위해 프레임(frame)이라고 한다. 프레임도 페이지와 마찬가지로 번호를 매기고 페이지와 프레임의 크기는 같다. 페이지와 프레임의 크기가 같기 때문에 페이지가 물리 메모리에 매핑이 될 때 어느 위치에나 올라갈 수 있다. 어떤 페이지가 어느 프레임에 있는지에 대한 매핑 정보는 페이지 테이블에 저장을 한다. 페이지 테이블은 하나의 열(co..