[운영체제] 8. 메모리 관리
·
Study/OS
해당 내용은 공룡책(Operating System Concepts 10th Ed: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne)과 대학 강의를 기반으로 재구성하여 정리한 공부 내용입니다.+) 6장부터는 사자책(명품 운영체제: 황기태)에 더 중점을 두고 전개됩니다.1. 메모리 계층 구조와 메모리 관리 핵심메모리 계층 구조: CPU 레지스터 - 캐시 메모리 - 메인 메모리 - 보조 기억 장치 ...읽기쓰기의 속도와 용량에 따라 계층 구조를 이루는 것중심에 메인 메모리 존재!(일반적으로 메모리 = 메인 메모리 지칭) 메인 메모리(RAM): 휘발성, 하드 디스크: 비휘발성메인 메모리 없이 컴퓨터 존재할 수 없음 CPU의 빠른 명령 처리 속도와 메모리 응답 속도의 ..
데이터베이스 권한 관리
·
Study/DateBase
보안데이터베이스 보안의 목표 → 조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제하여 보안을 유지하는 것물리적 환경에 대한 보안자연 재해처럼 데이터베이스에 물리적 손실을 발생시키는 위험으로부터 데이터베이스 보호 권한 관리를 통한 보안접근이 허락된 사용자만 권한 내에서 데이터베이스를 사용하도록 보호계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자별로 사용 범위와 수행 가능한 작업 내용을 제한 운영 관리를 통한 보안접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약조건을 정의하고 위반하지 않도록 통제 권한 관리접근 제어(access control): 계정이 발급된 사용자가 로그인에 성공했을 경우에만 데이터베이스에 접근 허용, D..
데이터베이스 회복과 병행 제어
·
Study/DateBase
트랜잭션개념하나의 작업을 수행하는데 필요한 데이터베이스 연산들을 모아놓은 것작업 수행에 필요한 SQL문들의 모임(특히 DB를 변경하는 INSERT, DELETE, UPDATE문 관리)논리적인 작업의 단위 장애 발생 시 복구 작업이나 병행 제어 작업을 위한 중요한 단위로 사용된다.데이터베이스 무결성과 일관성을 보장하기 위해 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 제대로 정의, 관리해야 한다. 특성= ACID 특성원자성, 일관성, 격리성, 지속성 원자성(atomicity)트랜잭션의 연산들이 모두 정상적으로 실행되거나, 하나도 실행되지 않아야 하는 all-or-nothing 방식을 의미트랜잭션 수행 도중 장애 발생 → 지금까지 실행한 연산 처리를 모두 취소, 데이터베이스를 트랜잭션 작업 전 상태로 되..
데이터베이스 정규화
·
Study/DateBase
정규화의 개념과 이상 현상이상 현상: 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용정규화: 이상 현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정 이상 현상의 종류삽입 이상: 릴레이션에 새 데이터를 삽입하려면 불필요한 데이터도 함께 삽입해야 하는 문제갱신 이상: 릴레이션의 중복된 투플들 중 일부만 수정하여 데이터가 불일치하게 되는 모순이 발생하는 문제삭제 이상: 릴레이션에서 투플을 삭제하면 꼭 필요한 데이터까지 손실되는 연쇄 삭제 현상이 발생하는 문제 정규화이상 현상이 발생하지 않도록, 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정함수적 종속성(속성들 간의 관련성)을 판단하여 정규화 수행 함수 종속X가..
데이터베이스 설계와 인덱싱
·
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..