OSI 7 layers > ### 응용(Application) 계층
검색, 정렬시 Tuple을 구분할 수 있느 기준이 되는 AttributeTuple을 유일하게 식별할기 위해 사용하는 속성들의 부분집합(기본키로 사용할 수 있는 속성들)2가지 조건을 만족해야한다유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음최소성 : 꼭
SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색할 수 있음RDBMS의 특징1\. 데이터는 정해진 데이터 스키마에 따라 테이블에 저장됨2\. 데이터는 관계를 통해 여러 테이블에 분산됨NoSQL(비관계형 DB)
정규화 중 등장한 개념인 이상현상에 대해 알아보자삽입/갱신/삭제 이상불필요한 데이터를 추가해야 삽입할 수 있는 상황일부만 변경, 데이터가 불일치하는 모순의 문제튜플 삭제로 인해 꼭 필요한 데이터까지 함께 삭제되는 문제
RDBMS에서 검색 속도를 높이기 위한 기술Table의 Column을 색인화함\-> 해당 Table의 Record를 Full scan하지 않음\-> 색인화된(B+Tree) 구조로 Index 파일 검색으로 검색 속도 향상테이블을 생성하면 MYD, MYI, FRM 3개의
데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위상태를 변화시킨다는것 -> SQL 질의어를 통해 DB에 접근하는 것ex) SELECT, INSERT, DELETE, UPDATE작업 단위 -> 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것예시) 사용
TCP/IP는 인터넷에서 가장 널리 사용되는 네트워크 프로토콜 스택TCP/IP는 인터넷에서 가장 널리 사용되는 네트워크 프로토콜TCP는 데이터 손실 없이 정확한 전송을 보장하며 데이터를 작은 패킷으로 나누어 전송, 수신측에서는 패킷을 재조립하여 원본데이터를 복원함. T
연결을 성립하고 해제하는 과정을 말함TCP가 정확한 전송을 보장해야하는 만큼, 통신 전에 논리적인 접속을 성립하기 위해 3 way handshake과정이 필요클라이언트가 서버에 SYN 패킷을 보냄(sequence : x)서버가 SYN(x)를 받고 클라이언트로부터 받았다
송신측과 수신측의 데이터 처리 속도 차이를 해결하기 위한 기법Flow Control은 receiver가 packet을 지나치게 많이 받지않도록 조절하는 것기본 개념은 receiver가 sender에게 현재 자신의 상태를 feedback한다는 점수신측이 송신측보다 데이터
User Datagram Protocol데이터를 데이터그램 단위로 처리하는 프로토콜비연결성신뢰성없음 데이터그램 단위로 쪼개면서 전송해야하기 때문에 전송 계층장점 : 데이터의 신속성주로 실시간 스트리밍과 온라인 게임에서 사용됨IP의 역할으 장치와 장치 사이만을 지원. 하
어떤 정보를 암호화 및 복호화 할 때 사용하는 키가 동일(대칭)한 경우키를 안전하게 교환하는 것이대칭키 암호화방식에서 중요한 부분매우 빠르다는 장점이 있으나, 전달과정에서 해킹 위험에 노출될 수 있음정보를 암호화 및 복호화 할 때 사용하는 키가 서로 다른 경우비대칭키를
HTML 문서를 주고 받는 통신 규약80번 포트를 기본적으로 사용하고 있음서버-클라이언트 모델에 맞춰 데이터를 주고받기 위한 프로토콜TCP/IP 위에서 동작함상태를 가지지 않은 Stateless 프로토콜이며 Method, Path, Version, Headers, Bo
둘 이상의 CPU or 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것Load Balancer를 클라이언트와 서버사이에 두고, 부하가 일어나지 않도록함 규모에 따라 웹서버를 추가로 증설하면서 로드밸런서로 관리해주면 부하가 해결됨웹사이트 접속 인원이 늘어남에 따라 트
I/O 작업은 Kernel level에서만 수행할 수 있음. 따라서, Process, Thread는 커널에게 I/Oㅡㄹ ㅛ청해야함Process(Thread)가 Kernel에게 I/O를 요청하는 함수 호출Kernel이 작업 완료시 작업 결과 반환 받음I/O작업이 진행되는
호출된 함수가 호출된 함수에게 제어권을 건네주는 유무의 차이함수 A, B가 있고, A(호출한 함수)안에서 B(호출된 함수)를 호출한 상황에서B가 호출되며 B는 자신의 일을 진행히야함(제어권이 B에게)Blocking : 함수 B는 할 일을 다 마칠 때까지 제어권을 가짐.
운영체제는 컴퓨터의 성능을 높이고, 사용자에게 편의성을 제공하는 목적으로 하는 컴퓨터 하드웨어를 관리하는 프로그램하드웨어를 관리하고 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용프로그램과 하드웨어 간의 인터페이스로서 다른 응용프로그램이 유용한 작업을 할 수 있도록
프로그램을 실행하는 도중에 예기치 않은 상황 발생 시, 현재 실행중인 작업을 즉시 중단하고, 발생한 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것외부/내부 인터럽트는 CPU의 하드웨어 신호에 의해 발생소프트웨어 인터럽트는 명령어의 수행에 의해 발생
프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 공간을 특정 구조로 관리하는데, 이를 프로세스 주소 공간이라 함한정된 메모리가 주어지기 때문에 프로세스가 메모리를 절약하려고 시도함.간략히 Code 부분은 프로그램 소스 코드 저장/Data는 전
시스템 콜 운영체제의 커널이 제공하는 서비스에 대해서 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스(응용 프로그램이 커널의 서비스에 접근할 때 마주하는 인터페이스) 해당 인터럽트 처리를 위해 OS로 CPU 제어권이 넘어가고 OS영역의 코드가 실행됨 주요
CPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것Process IDProcess State : 실행 상태Process PriorityCPU RegistersOwnerCPU UsageMemory UsageOS가 프로세스 스케줄링을 위해 프로세스에 관한
CPU를 잘 사용하기 위해 프로세스를 적절히 배정조건 : 오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓목표Batch System: 가능하면 많은 일을 수행. 시간(time) 보단 처리량(throughout)이 중요Interactive System: 빠른 응답 시간. 적은
두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태무한히 다음 자원을 기다리게 되는 상태시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생
공유 자원에 대해 여러 프로세스가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태동시 접근 시 자료의 일관성을 해치는 결과가 나타남문제점 : 커널모드에서 데이터를 로드하여 작업을 수행하다가 인터럽트가 발생하여 같은 데이터를 조작하는 경우해결법 : 커널모드에서 작업
공유된 자원에 여러 프로세스가 동시에 접근하면 Critical Section문제가 발생할 수 있음. 이때 공유된 자원의 데이터는 한번에 하나의 프로세스만 접근할 수 있도록 제한을 두는 동기화 방식이 필요함여러 프로세스가 데이터를 공유하며 수행할 때, 각 프로세스에서 공
다중 프로그래밍 시스템에 여러 프로세스를 수용하기 위해 주기역장치를 동적 분할하는 메모리 관리 작업이 필요하기 때문프로그램 전체가 메모리에 연속적으로 할당고정 분할 기법 : 메모리가 고정된 파티션으로 분할. 내부 단편화 발생동적 분할 기법 : 파티션들이 동적으로 생성되
페이지 부재(프로세스가 요구한 페이지가 현재메모리에 없음)가 발생할 시, 새로운 페이지를 할당해야하는데 현재 할당된 페이지 중 어떤것을 교체할지 결정하는 방법CPU는 논리 주소를 통해 특정 주소를 요구함메인 메모리에 올라와 있는 주소들은 페이지의 단위로 가져오기 때문에
CPU가 직접 접근할 수 있는 기억 장치프로세스가 실행되려면 프로그램이 메모리에 올라와야 함주소가 할당된 일련의 바이트들로 구성되어 있음
컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록, 유지 및 관리하는 방법이다.커널 영역에서 동작파일 CRUD 기능을 원활히 수행하기 위한 목적계층적 디렉터리 구조를 가짐디스크 파티션 별로 하나씩 둘 수 있음파일 관리보조 저장소 관리파일 무결성 메커니즘접근 방법 제공하