분류 전체보기
-
Connection PoolDB/DB 개념 정리 2020. 2. 6. 14:44
Connection Pool 클라이언트의 요청에 따라 각 애플리케이션의 스레드에서 데이터베이스에 접근하기 위해서는 Connection 필요합니다. Connection pool은 이런 Connection 여러 개 생성해 두어 저장해 놓은 공간(캐시), 또는 이 공간의 Connection을 필요할 때 꺼내 쓰고 반환하는 기법을 말합니다. Connection Pool 라이브러리 Connection pool을 제공하는 라이브러리로는 대표적으로 Apache의 Commons DBCP와 Tomcat-JDBC, BoneCP, HikariCP 등이 있습니다. DB에 접근하는 단계 웹 컨테이너가 실행되면서 DB와 연결된 Connection 객체들을 미리 생성하여 pool에 저장합니다. DB에 요청 시, pool에서 Con..
-
Get과 Post의 차이네트워크/네트워크 정리 2020. 2. 5. 14:26
GET 메서드 방식 개념 정보를 조회하기 위한 메서드 서버에서 어떤 데이터를 가져와서 보여주기 위한 용도의 메서드 가져오는 것(Select) 사용 방법 URL의 끝에 '?'가 붙고, 요청 정보가 (key=value)형태의 쌍을 이루어 ?뒤에 이어서 붙어 서버로 전송한다. 요청 정보가 여러 개일 경우에는 '&'로 구분한다. Ex) www.urladdress.xyz?name1=value1&name2=value2 특징 URL에 요청 정보를 붙여서 전송한다. URL에 요청 정보가 이어붙기 때문에 길이 제한이 있어서 대용량의 데이터를 전송하기 어렵다. 한 번 요청 시 전송 데이터(주솟값 + 파라미터)의 양은 255자로 제한된다.(HTTP/1.1은 2048자) 요청 정보를 사용자가 쉽게 눈으로 확인할 수 있다. P..
-
21. 페이지 교체 알고리즘운영체제/운영체제 정리 2020. 2. 4. 17:48
CPU가 주소를 내고 우리는 demand paging을 이용해서 가상 메모리를 만들고 있다. 앞 선 예로 우리는 프로세스 3개를 페이지 단위로 올리고 이는 원래는 용량이 부족하여 올리지 못하지만 필요한 페이지만 올리기 때문에 올릴 수 있고 아무 문제없이 실행할 수 있다. 이제 페이징 단위로 메모리들이 모두 꽉 차 있는 상황을 가정해보자. 그리고 하드디스크에 있는 p3에 일부 페이지들이 올라가야 하는 상황이다. 이때 page replacement를 통해 메모리에 있는 한 페이지를 선택해서 쫓아내고 빈자리에 넣어야 한다.( victim page) 이왕이면 modify 되지 않은 페이지 그리고 이 중에서는 여러 page replacement algorithms을 쓴다고 말하였다. page replacement..
-
20. 페이지 교체운영체제/운영체제 정리 2020. 2. 2. 16:46
가상 메모리를 사용하면 최대크기는 하드디스크의 크기 만큼 으로 CPU를 속이는 것이 가능하다. 유효 접근 시간 : CPU가 어떤 주소를 낼 때 운이 좋다면 해당 페이지가 메모리에 있기에 페이지 테이블을 거쳐서 빠르게 읽을 수 있지만 어떤 내용은 메인 메모리에 없을 것이고 Interrupt후 OS 인터럽트 루틴으로 점프 후 디스크에 있는 내용을 메모리 에 다시 올리고 valid bit 와 프레임 번호 설정등 많을 일을 거쳐야 한다. 따라서 CPU가 어떤 주소를 내면 어떤 주소는 빨 리 읽혀질 것이고 어떤 주소는 느리게 읽혀질 것이다. 그렇다면 평균 적으로는 얼마일까? ( = 유효 접근 시간 ) P : page fault rate = 페이지 부재가 일어날 확률 유효 접근 시간 : (1 - P)*Tm + P ..
-
19. 가상 메모리운영체제/운영체제 정리 2020. 1. 30. 18:07
가상 메모리는 물리 메모리의 크기 한계를 극복하기 위해 나오게 됐다. 자신의 메인 메모리가 100mb 라고 가정해보자. 200mb 크기의 프로세스를 실행 할 수 있을까? 못올릴것 같겠지만 올릴 수 있다! 어떻게? Cpu와 메모리 보조기억장치가 있고 다시 100mb 에 200mb 프로그램을 올리는 상황을 가정해보자. 생각해보면 200mb 이지만 모두 메모리에 올릴 필요가 없다. 프로그램 안에 지금 당장 안쓰는 루틴도 많을 것. ( ex 파일이 안열릴 시에 필요한 오류 처리 등 ) 따라서 안그래도 적은 메모리에 처음부터 넣을 필요가 없는 것이다. 안 넣고 있다가 실제 그런 상황이 벌어지면 올리면 되는 것이다. 100mb 메모리에 50mb 프로그램 3개를 올리는 상황을 가정해보자. 각각의 프로그램은 필요한 부..
-
TCP 3 way handshake & 4 way handshake네트워크/네트워크 정리 2020. 1. 29. 17:53
그전에 SYN Packet과 ACK Packet 이란? SYN : synchronize sequence number ACK : acknowledgement TCP Header엔은 Code Bit라는 부분이 존재하고 총 6Bit로 이루어져 있습니다. Urg-Ack-Psh-Rst-Syn-Fin 순서로 해당 위치의 비트가 1이면 해당 패킷의 내용을 담고 있다는 것을 나타냅니다. (예 : SYN 패킷일 경우 000010 ) * TCP 3-way Handshake 란? TCP는 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 three-way handshake를 사용한다. TCP 3 Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 ..
-
18. 세그먼테이션 (Segmentation)운영체제/운영체제 정리 2020. 1. 27. 01:41
프로세스를 자르는데 페이징 같은 경우는 일정 크기로 잘랐다. 이번에는 논리적인 구분(= 세그먼트 )으로 잘라서 가변크기로 메모리에 배치한다. 따라서 한 부분의 사이즈는 모두 다를 수 있다. 프로세스라는 것은 세그먼트의 집합으로 볼 수 있다. 프로세스는 기본적으로 코드 데이터 스택 등으로 되어있다고 했다. 따라서 프로세스는 세그먼트의 집합이다. 코드 데이터 스택 영역 등의 길이는 모두 다르므로 사이즈는 모두 다르다. 페이징을 배울 때는 모두 일정한 크기로 잘라 넣었지만 꼭 그럴 필요가 있는가? 의미있는 사이즈로 자른 후에 메모리에 넣는 것이다. 이번에는 디스크에 있는 프로그램을 세그먼트 단위로 다르자. s0 s1 s2 s3로 나눈 후 메인 메모리로 올리고 다음과 같은 상태라고 두자. 이제 CPU를 속여야 ..
-
백준(BOJ) 17825번 주사위 윷놀이알고리즘 풀이/백준(Boj) 2020. 1. 23. 02:32
문제: https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 가장 처음에는 시작에 말 4개가 있다. 말은 게임판에 적힌 화살표의 방향대로만 이동할 수 있다. 파란색 칸에서 말이 이동을 시작하는 경우에는 파란색 화살표의 방향으로 이동해야 하며 파란색 칸을 지나가는 경우에는 빨간 화살표의 방향대로 이동해야 한다. 게임은 1부터 5까지 한 면에 하나씩 적혀있는 5면 주사위를 굴려서 나온 수만큼 이동하는 방식으로 진행한다. 이동하려고 하는 칸에 말이 이미 있는 경우에 www.acmicpc.net 풀이: 윷놀이 판을 2차원 배열로 나타내 보았다. 이때 서로 이어질 수 있게 만들어 주고 방향을 표시하는 d 배열도 따로..