데이터베이스 설계와 인덱싱
·
Study/DateBase
데이터베이스 설계 단계데이터베이스 설계: 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정 관계 데이터베이스의 대표적인 설계 방법1) 정규화를 이용한 설계2) E-R 모델과 릴레이션 변환 규칙을 이용한 설계 E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정1단계: 요구 사항 분석사용자의 요구 사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악 → 요구 사항 명세서 작성데이터베이스를 실제로 사용할 주요 사용자 범위 결정사용자가 조직에서 수행하는 업무 분석면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구 사항 수집수집된 요구 사항에 대한 분석 결과를 요구 사항 명세서로 작성 2단계: 개념적 설계DBMS에 독립적인 개념적 스키마 설계요구 사항 분석 결과물을 개념적 ..
[운영체제] 7. 교착상태
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.+) 6장부터는 사자책(명품 운영체제: 황기태)에 더 중점을 두고 전개됩니다.1. 교착상태 문제 제기식사하는 철학자 문제- 두 철학자가 양쪽 포크를 모두 들 수 있을 때는 아무 문제 X- 2~4명이 동시에 식사하는 경우, 포크에 대한 충돌이 발생해 누군가의 대기는 필요하지만 무한 대기가 발생하지는 않음- 5명이 동시에 식사하지만 포크를 잡는 순간이 약간씩 다른 경우, 위와 같이 잠깐씩 대기하면 식사 가능- 5명이 모두 동시에 왼쪽 포크를 잡은 경우, 모든 철학자가 자신의 오..
[운영체제] 6. 스레드 동기화(thread synchronization)
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.+) 6장부터는 사자책(명품 운영체제: 황기태)에 더 중점을 두고 전개됩니다.1. 스레드 동기화의 필요성P: 여러 스레드가 공유 데이터에 동시에 쓰기를 수행하면 공유 데이터가 훼손될 수 있다.S: 스레드 동기화로, 한 스레드가 공유 데이터에 대한 사용을 마칠 때까지 다른 스레드가 접근하지 못하도록 제어한다. 스레드 동기화: 다수의 스레드가 공유 데이터를 동시에 쓰는 충돌 상황에서 공유 데이터가 훼손되지 않도록 스레드의 실행을 제어하는 기법→ 한 스레드가 공유 데이터에 대해 ..
데이터베이스 언어 SQL
·
Study/DateBase
SQLStructured Query Language= 관계 데이터베이스를 위한 표준 질의어= 비절차적 데이터 언어 통상 질의어는 데이터 언어 중 비절차적 데이터 조작어에 해당하지만, SQL은 정의 및 제어 기능까지 제공하므로 데이터 언어로 이해할 수 있다. 발전 역사연구용 관계 DBMS인 SYSTEM R을 위한 언어 SEQUEL(Structured English QUEry Language)에서 유래→ 새로운 관계 DBMS를 사용하기 위해서 그에 맞는 질의어를 재학습시켜야 하는 문제→ 미국 표준 연구소 ANSI와 국제 표준화 기구 ISO에서 SQL을 관계 데이터베이스의 표준 질의어로 채택&표준화 작업 진행 사용 방식대화식 SQL: DBMS에 직접 접근하여 질의를 작성해 사용삽입 SQL: 프로그래밍 언어로 ..
[운영체제] 5. CPU Scheduling
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 기본 개념(Basic Concepts)멀티 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 갖는 것한 프로세스가 대기해야 할 경우 운영체제는 그 프로세스로부터 CPU를 회수하여 다른 프로세스에 할당한다. CPU-I/O 버스트 사이클(CPU-I/O Burst Cycle)프로세스 실행은 CPU 실행과 I/O 대기의 사이클로 구성된다.CPU 버스트로 시작되어 I/O 버스트와 두 상태가 교대로 발생하다가 실행 종료를 위한 시스템 요청으로 끝난..
[운영체제] 4. Threads & Concurrency
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 개요(Overview)동기(Motivation)프로세스는 운영체제가 응용 프로그램을 적재하는 단위, 자원을 할당받는 단위스레드는 실행(스케줄링) 단위 스레드 = CPU 이용의 기본 단위스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택으로 구성같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 열린 파일이나 신호와 같은 운영체제 자원 공유 현대의 거의 모든 응용 소프트웨어는 다중 스레드를 이용스레드는 application 안에서 함께 실행된다.appl..
[운영체제] 3. Process
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 프로세스 개념(Process Concept)CPU 활동들에 대하여 일괄처리 시스템에서는 작업(job), 이후 시분할 시스템에서는 사용자 프로그램 또는 태스크(task)라 하였고, 현재에는 이 모든 활동에 대해 프로세스라 한다. 프로세스(The Process)프로세스: 실행 중인 프로그램프로세스의 현재 활동 상태: 프로그램 카운터 값과 프로세서 레지스터 내용으로 표현프로세스의 메모리 배치:텍스트 섹션: 실행 코드데이터 섹션: 전역 변수, 정적 변수힙 섹션: 프로그램..
데이터베이스 모델과 연산
·
Study/DateBase
데이터 모델링데이터 모델링(data modeling): 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 2단계 데이터 모델링① 개념적 데이터 모델링(conceptual modeling): 현실 세계의 중요 데이터 추출 → 데이터베이스의 개념적 구조로 표현하는 작업② 논리적 데이터 모델링(logical modeling): 개념 세계의 데이터 → 데이터베이스에 저장하는 구조로 표현하는 작업 데이터 모델(date model): 데이터 모델링의 결과물을 표현하는 도구데이터 모델의 구성 요소:데이터 구조(data structure);개념적 구조와 논리적 구조데이터 구조에서 처리 가능한 연산(operation)데이터 구조와 연산에 대한 제약조건(constraint)① 개념적 데이터 모델..
데이터베이스 기초 이론
·
Study/DateBase
데이터와 데이터베이스 개요데이터(data): 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값정보(information): 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물정보 처리(information processing): 데이터에서 정보를 추출하는 과정 또는 방법정보 시스템(information system): 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 필요할 때 유용한 정보를 만들어주는 수단 → 데이터베이스가 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 역할을 담당 데이터베이스(datebase, DB): 특정 조직의 여러 사람이 공유하여 사용할 목적으로 체계화해 통합해서 저장·관리하는 운영 데이터의 집합, 작성된 목록으로써 여러 응용 시스템들의 ..
[운영체제] 2. Operating System Structures
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed. : Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.1. 운영체제 서비스(Operating System Services) 사용자 인터페이스(User interface)거의 모든 운영체제가 UI를 제공한다.가장 일반적으로 그래픽 사용자 인터페이스(GUI)가 사용되며, 터치스크린 인터페이스, 명령어 라인 인터페이스(CLI)가 사용되기도 한다. (여러 형태를 모두 제공하기도 함)프로그램 수행(program execution)시스템은 프로그램이 정상적이든, 비정상적이든(오류를 표시하면서) 메모리에 적재해 실행을 끝낼 수 있어야 ..