CS (53) 썸네일형 리스트형 CPU 스케줄링(CPU Scheduling) 스케줄링(Scheduling) 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것을 의미한다. 스케줄링의 목적 자원할당의 공정성을 보장 단위시간당 처리량 최대화 적절한 반환시간을 보장 예측 가능성 보장과 오버헤드 최소화 등이 있다. 프로세스에 프로세서가 할당되면 다음 사항중 하나가 일어나게 된다. 프로세스가 입출력 요청을 보내고 입출력 큐에 들어간다 프로세스가 새로운 프로세스를 생성(fork)하고 생성한 프로세스의 종료를 기다린다. 프로세스가 시간 할당량을 초과(시간 종료 time out)하면 준비큐에 들어간다. 인터럽트로 프로세서에서 제거된 프로세스는 다시 준비큐에 들어간다. 비선점 & 선점 스케줄링 비선점 스케줄링(Non Preemptive Scheduling) .. 트랜잭션(Transaction)이란?? 트랜잭션(Transaction)?? 데이터베이스의 상태를 변화시키기 위한 하나의 논리적인 작업 단위를 구성하는 연산들의 집합 작업단위란 많은 SQL 명령문들을 사람이 정한는 기준에 따라 정하는 것 예를 들어 게시판에서 사용자가 글을 작성하고 올리기 버튼을 누른 후 게시판에 다시 돌아오면 게시판에 업데이트 된 글 을 볼 수 있는 것이며, 이렇게 하나의 트랜잭션 설계를 잘 만드는 것이 데이터를 다룰 때 이점이 많다. 트랜잭션의 필요성 현금 인출기를 작동하는 도중에 기계오류나 정전 등과 같은 예기치 않은 상황이 발생하여 카드가 나오지 않거나 기계가 멈추는 경우 각각 다른 지점의 은행에서 동시에 인출할 때, 하나의 지점이 다른 지점에서 저장한 잔액을 덮어 쓰는 경우 위와 같은 상황이 발생되지 않도록 방지하기 위.. HTTP Method 정리 HTTP 특징 TCP/IP을 이용한 응용 프로토콜이다. 연결 상태를 유지하지 않는 비연결성 프로토콜이다. 요청과 응답 방식으로 동작한다. 서버와 클라이언트에 의해 HTTP 메세지가 해석된다. HTTP Method Method설명 GET URI가 가진 정보를 검색하기 위해 요청하는 메소드 HEAD GET메소드와 방식은 동일하지만, 응답에 BODY가 없고 응답 코드와 HEAD만 응답하는데 사용되는 메소드 POST 요청된 자원을 생성하기 위한 메소드 PUT 요청된 자원을 수정할때 사용하고, PATHCH와는 다르게 자원 전체를 갱신하는데 사용되는 메소드 PATCH PUT메소드와 유사하게 요청된 자원을 수정할때 사용되지만, 자원의 일부를 수정하는 의미로 사용되는 메소드 DELETE 요청된 자원을 삭제하기 위한 메.. 인덱스(index)? 데이터 베이스에 데이터가 많으면 많을 수록 검색 성능을 향상시키는데 도움을 주는 기술이며,인덱스의 목적은 기초데이터 관리 시스템(RDMS row data mangement system)의 검색 속도를 높이는 데 있습니다. SELECT 쿼리의 WHERE 절이나 JOIN 예약어를 사용했을 때 인덱스를 사용하여 쿼리의 검색 속도를 빠르게 하지만 insert, update, delete의 DML의 성능은 다소 떨어집니다. 인덱스의 동작 방식 인덱스가 동작하기 전 특정 컬럼명 인덱스를 설정했다고 가정합니다. 설정한 컬럼 명은 A라고 하고, 인덱스를 설정하면 A 컬럼에 대한 인덱스 테이블이 생성됩니다. 컬럼 A가 포함된 where절 쿼리를 요청하면 인덱스 테이블에서 값을 찾게 됩니다. 이 상황에서 동작은 다음과 같.. 프록시(Proxy)란 ????????! 대신 또는 대리의 의미를 갖고 있는 프록시(Proxy), 클라이언트와 서버 사이의 중게 서버를 프록시 서버(Proxy Server)라고 합니다. 프록시 서버(Proxy Server) 클라이언트가 프록시를 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 지원해주는 응용 프로그램 서버와 클라이언트의 중계자 역할을 수행 프록시 서버 내부 캐시 존재해 빠른 응답이 가능합니다. 원격 서버에 대한 트래픽을 감소시킬 수 있어 병목 현상 방지가 가능합니다. 프록시 서버를 나누는 2가지 방식이 존재합니다. 그건 포워드 프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy)입니다. 포워드 프록시(Forward Proxy) 내부망에서 클라이언트와 연결된 프록시로, 클라이언트의 요청을 서버로 전.. 교착상태(Dead Lock)란???(feat.기아상태) 교착상태란? 모든 스레드가 락이 풀리기를 기다리고 있는 상태, 무한 대기 상태에 빠짐 프로세스가 자원을 얻지 못해서 다음 처리를 못하는 상태 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생 프로세스가 결코 일어나지 않을 사건을 기다리는 상태가 되면 교착 상태라고 하며, 두 프로세스가 사용하는 자원을 서로 기다리고 있을 때 발생합니다. 주로 발생하는 이유 멀티 프로그래밍 환경에서 한정된 자원을 얻기 위해 서로 경쟁하는 상황이 발생됩니다. 한 프로세스가 자원을 요청했을 때, 동시에 그 자원을 사용할 수 없는 상황이 발생할 수 있음, 이 상황에서 프로세스는 대기 상태로 들어가며 들어간 프로세스들이 실행 상태로 변경될 수 없을 때 교착 상태가 발생하게 됩니다. 교착 상태의 4가지 조건 교착 상태가.. 로드 밸런싱(Load Balancing) 이란? 밸런싱에 대해서 알아보자! 밸런싱이란? 한대의 서버 컴퓨터만으로 다수의 클라이언트를 수용할 수 없기 때문에, 적절하게 다른 서버로 배치해주는 방법을 말합니다. 서버 이용자가 한두명이면 상관이 없지만, 백만명으로 서버 이용자가 늘었다면 어떻게 될까? 이러한 문제를 해결하기 위해서는 어떻게 해야할까요? 이 상황에서 여러 서버에게 균등하게 트래픽을 분산시켜주는 장치(Load Balancer)를 사용해야하는데, 이것을 로드밸런싱(Load Balancing) !! 이라고 합니다. 여러 대의 서버(server)에게 균등하게 트래픽(Traffic)을 분산시켜주는 역할을 하는 것이 로드 밸런서(Load Balancer)!! 라고 합니다. 로드 밸런서가 서버를 선택하는 방식 라운드 로빈 방식(Round Robin) : .. 이상(Anomaly) 이상의 현상과 종류 1. 삽입이상 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 2. 갱신이상 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 3. 삭제 이상 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 이전 1 2 3 4 5 6 7 다음