CS (19) 썸네일형 리스트형 학교 시험 대비 정리 정규화 -이상형상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정이다. -단계별로 구분하여 정규형이 높아질수록 이상현상이 줄어들게 된다. 장점 -데이터베이스 변경 시 이상 현상을 제거할 수 있다. -정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 변경해도 된다. -데이터베이스와 연동된 응용 프로그램에 최소한의 영향만을 미치게 되어 응용 프로그램의 생명을 연장시킨다. 단점 -릴레이션의 분해로 인해 릴레이션 간의 JOIN 연산이 많아진다. -질의에 대한 응답 시간이 느려질 수도 있다. -데이터 중복 속서을 제거하고 결정자에 의해 동일한 의미의 일반 속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용양이 최소화 되거나 JOIN 연산의 .. 프로세스 프로그램 : 저장장치에 저장되어 있는 정적인 상태 프로세스 : 실행을 위해 메모리에 올라온 동적인 상태 프로그램이 실행되어 메모리에 올라오면 프로세스가 된다. PCB(Process Control Block) 운영체제가 해당 프로세스를 위해 관리하는 자료 구조 구성 포인터 : 준비 상태나 대기 상태의 큐를 구현할 때 사용 프로세스 상태 : 프로세스가 현재 어떤 상태에 있는지를 나타내는 정보 프로세스 구분자 : 운영체제 내에 있는 여러 프로세스를 구현하기 위한 구분자 프로그램 카운터 : 다음에 실행될 명령어의 위치를 가리키는 프로그램 카운터의 값 프로세스 우선순위 : 프로세스의 실행 순서를 결정하는 우선순위 각종 레지스터 정보 : 프로세스가 실행되는 중에 사용되던 레지스터의 값 메모리 관리 정보 : 프로세스.. 책 내용 정리 1장 보호되어 있는 글입니다. 운영체제(Operating System) 하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다. 즉, 운영체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어다. 역할 사용자를 위한 역할 운영체제는 사용자에게 컴퓨터 시스템을 편리하게 사용할 수 있는 인터페이스를 제공한다. CUI와 CLI가 대표적인 예시이다. 하드웨어를 위한 역할 운영체제의 가장 핵심적인 기능은 각종 하드웨어를 관리하는 일이다. 이에 운영체제를 resource manager라고도 부른다. 1. 프로세스 관리 운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다. 어떤 의미에서는 프로세서(CPU) 관리하는 것이.. OOP(Object Oriented Programming) OOP(객체 지향 프로그래밍) 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론이다. 코드의 재사용성과 생산성의 향상 효과를 볼 수 있고, 유지보수의 편의성 덕택에 협업이 중요하고 규모가 큰 대형프로젝트에 사용되는 프로그래밍 이론이다. OOP 특징 객체 지향 프로그래밍의 가장 큰 특징은 클래스를 이용해 연관 있는 처리 부분(함수)과 데이터 부분(변수)를 하나의 객체(인스턴스)로 묶어 생성해 사용한다는 점이다. 캡슐화(Encapsulation) 데이터와 코드의 형태를 외부로부터 알 수 없게하고, 데이터의 구조와 역할, 기능을 하나의 캡슐형태로 만드는 방법이다. 캡슐화의 중요한 목적은 변수를 private로 선언하여 데이터를 보호하고, 보호된 변수는.. [TCP] 3 way handshake & 4 way handshake Transport Layer OSI 7 레이어에서 Transport Layer에는 양 끝단(end to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다. 전송 계층은 인터넷의 기반인 TCP/IP 참조 모델과 일반적인 네티워크 모델인 개방형 시스템 간 상호 접속(Open Systems Interconnection, OSI) 모두 포함하고 있다. Transport Layer : Application 프로세스들 간의 논리적인 통신을 제공 Network Layer : host 간의 논리적인 통신을 제공(데이터의 전달 경로를 설정하는 역할) Transport Layer의 패킷을 세그먼트라고 한다. UDP에서는 종종 이.. 패리티 비트 & 해밍 코드 패리티 비트(Parity Bit) 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가된 비트를 말한다. 전송하고자 하는 데이터의 끝에 1비트를 더하여 전송하는 방법이다. 짝수 패리티(Even Parity)와 홀수 패리티(Odd Parity) 짝수 패리티 : 실제 송신하고자 하는 데이터의 각 비트의 값 중에서 1의 개수가 짝수가 되도록 패리티 비드를 정하는 것 홀수 패리티 : 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법 패리티 비트 사용 이유 데이터를 송수신하는 과정에서 각 비트를 단위시간당 하나씩 보내게 되어있는데, 이때 알 수 없는 요인에 의해서 비트의 값이 틀어져 1이 0으로 바뀌거나 0이 1로 바뀌었을 때 이를 확인할 수 있도록 하기 위함이다. 즉, 패리티 비트를 정하.. 해시(Hash) 해시함수(hash function)란 데이터의 효율적 관리를 목적으로 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 이 때 매핑 전 원래 데이터의 값을 키(key), 매핑 후 데이터의 값을 해시값(hash value), 매핑하는 과정 자체를 해싱(hashing)이라고 한다. 해시테이블 해시함수를 사용하여 키를 해시값으로 매핑하고, 이 해시값을 색인(index) 혹은 주소 삼아 데이터의 값(value)을 키와 함께 저장하는 자료구조를 해시테이블(hash table)이라 한다. 이 때 데이터가 저장되는 곳을 버킷(bucket) 또는 슬롯(slot)이라 한다. 해시테이블의 기본 연산은 삽입, 삭제, 탐색이다. 해시 테이블 사용 이유 적은 리소스로 많은 데이터를 효율적으로 관리하기 위해서 사.. 이전 1 2 3 다음