CS

1. 교착 상태 해결1) 교착 상태 해결 방법• 예방(Prevention): 교착 상태를 유발하는 네 가지 조건(상호 배제, 비선점, 점유와 대기, 원형 대기) 중 하나라도 제거하는 방식.• 회피(Avoidance): 자원 할당을 조절하여 교착 상태를 피하는 방식.• 검출(Detection)과 회복(Recovery): 자원 할당 그래프를 모니터링하여 교착 상태를 감지하고 이후 회복하는 방식.   2. 교착 상태 예방과 회피1) 교착 상태 예방• 하벤더(Havender)의 예방 방법• 필요한 자원을 한 번에 모두 요청해야 함.• 점유한 자원을 반납해야만 추가 요청 가능.• 자원을 순서대로 할당. 교착 상태 예방 방법• 상호 배제 예방: 공유 가능한 자원을 만들지만, 현실적으로 어려움.• 비선점 예방: 자원..
1. 교착 상태 (Deadlock)1) 교착 상태의 정의• 교착 상태란, 두 개 이상의 프로세스가 서로의 작업이 끝나기를 기다리며 진행이 멈춘 상태를 의미함.• 운영체제가 해결하지 못하면 외부 개입(작업 교체, 종료)이 필요함.• 하나 이상의 작업이 영향을 받아 무한 대기 상태가 발생할 수 있음.• 비공유 자원을 사용하는 두 프로세스가 서로 기다릴 때 발생함.• 자원을 해제할 때까지 프로세스는 작업을 진행할 수 없음. 2) 기아 상태와 차이점• 기아 현상 (Starvation): 운영체제의 정책 문제로 특정 프로세스의 작업이 지속적으로 지연되는 현상.• 교착 상태: 여러 프로세스가 특정 자원을 서로 점유하고 대기하면서 자연적으로 발생하는 문제. 3) 시스템 자원과 교착 상태• 공유할 수 없는 자원을 사용..
해시 테이블1) 해시 테이블 개념 • 저장과 검색의 복잡도• 해시 테이블은 원소의 값에 의해 저장 위치가 결정되는 자료구조• 단 한 번의 계산으로 저장 위치를 찾음• 탐색 시간 복잡도:- 배열: O(n)- 이진 탐색 트리: 최악 O(n), 평균 O(log n)- 균형 이진 탐색 트리 (예: 레드-블랙 트리): 최악 O(log n)- B-트리: 최악 O(log n)- 해시 테이블: 평균 O(1) • 해싱(Hashing)• 키 값을 통해 직접 주소를 계산하여 검색하는 방법• 삽입과 삭제가 빈번한 자료에 적합• 빠른 응답이 필요한 경우 유용 • 해시 테이블(Hash Table)• 레코드를 저장하는 버킷들의 집합• 키값을 해시 함수에 넣어 계산된 해시 주소를 기반으로 탐색 2) 해시 함수해시 함수(Hash Fu..
이진 탐색 트리(Binary Search Tree, BST)1) 이진 탐색 트리의 개념• 이진 트리의 한 형태로, 노드가 유일한 키값을 가짐.• 왼쪽 서브트리는 부모 노드보다 작은 값, 오른쪽 서브트리는 부모 노드보다 큰 값을 가짐.• 탐색 시 루트 노드부터 시작하여 왼쪽 또는 오른쪽 서브트리를 따라가며 진행.• 삽입, 삭제, 탐색이 빈번한 경우 효율적. 2) 이진 탐색 트리의 삽입• 새로운 데이터를 삽입할 위치를 루트부터 탐색.• 루트보다 작으면 왼쪽, 크면 오른쪽으로 이동하며 적절한 위치에 삽입. 3) 이진 탐색 트리의 삭제• 삭제할 노드를 탐색한 후, 삭제 유형에 따라 재구성 필요. (1) 단말 노드 삭제 (차수 = 0)• 부모 노드의 연결을 끊어 삭제. (2) 하나의 자식 노드를 가진 노드 삭제 ..
1. SQL을 이용한 데이터 정의1) CREATE 문• NewCustomer 테이블 생성:- custid(INT, 기본키)- name(VARCHAR(20))- address(VARCHAR(50))- phone(VARCHAR(15))CREATE TABLE NewCustomer ( custid INT PRIMARY KEY, name VARCHAR(20), address VARCHAR(50), phone VARCHAR(15)); 2) 문자형 데이터 타입• CHAR(n): 고정 길이(최대 255byte)• VARCHAR(n): 가변 길이(최대 65,535byte)• TEXT 계열: TINYTEXT(255byte), TEXT(65,535byte), MEDIUMTEXT(16MB), LONGTEXT(4GB)•..
1. SQL(표준 질의어)SQL 개요• 정의: 관계형 데이터베이스(RDB)에서 데이터를 저장, 조회, 수정, 삭제하는 프로그래밍 언어• 역사: 1970년대 SEQUEL(Structured English Query Language)에서 시작 → SQL로 변경됨 사용 방식• 대화식 SQL: 직접 질의를 작성하여 실행• 삽입 SQL: 프로그램 코드 내에 SQL 문을 포함   2. SQL 질의문테이블 생성 (CREATE TABLE)CREATE TABLE 테이블명 ( 속성_이름 데이터_타입 [NOT NULL] [DEFAULT 기본값], PRIMARY KEY (속성), UNIQUE (속성), FOREIGN KEY (속성) REFERENCES 참조_테이블(속성) [ON DELETE 옵션] [ON..
1. 웹 서비스 프로토콜1) HTTP 개요• 웹 서버와 브라우저 간 데이터 전송을 위한 응용 계층 프로토콜• 초기에는 하이퍼텍스트 전송에 사용, 현재는 멀티미디어 전송 가능• TCP 포트 80번 사용• 보안 지원: Basic 인증, Digest 인증, HTTPS(SSL 보안)• 중계 방식: 프록시(동일 프로토콜), 게이트웨이(다른 프로토콜 연결) 2) HTTP 메시지HTTP 동작 구조① 클라이언트가 URL 입력 후 요청 → ② 서버의 HTTP 데몬과 연결 → ③ HTML 문서 전송 → ④ 클라이언트 브라우저에 표시 요청 메시지• 메소드(GET, POST, PUT 등), URL, 프로토콜 버전 포함 응답 메시지• HTTP 버전, 상태 코드(200 OK, 404 Not Found 등) 포함 헤더 종류• 요청..
1. 인터넷 주소 변환 필요성1) 인터넷에 사용되는 주소• 데이터링크 계층: MAC 주소 (48비트 물리적 주소)• 인터넷 계층: IP 주소 (32비트 또는 128비트 논리적 주소)• 전송 계층: 전송 포트 (16비트 응용 프로세스)• 응용 계층: URL 도메인 명 (예: www.aaa.com) 2) 인터넷 주소 변환 필요성• IP 주소(32비트 또는 128비트)는 10진수 또는 헥사 코드로 표현되어 사람이 기억하기 어려움.• 도메인 명을 문자로 입력하는 것이 사용자가 익숙함.• 수많은 인터넷 사이트의 IP 주소를 외우는 것은 불가능.• 전화의 114 서비스처럼 도메인과 IP 주소를 연결하는 DNS 시스템이 필요.• DNS 시스템: 문자 도메인을 IP 주소로 변환하는 시스템. 3) 인터넷에서 설정되어야 ..
JIN-JJS
'CS' 카테고리의 글 목록 (4 Page)