반응형

분류 전체보기 122

운영체제 공부 ( 기억장치 관리 및 단편화 )

기억장치 관리 전략 - 종류 : 반입(Fetch) 전략, 배치(Placement)전략, 교체(Replacement)전략 ※반입 전략 : 언제 주기억장치로 적재할 것인지 결정하는 전략 ※배치 전략 최조 적합 (First Fit) 첫 번째 분할 영역에 배치시키는 방법 최적 적합 (Best Fit) 단편화를 가장 작게 남기는 분할 영역에 배치 최악 적합 (Worst Fit) 단편화를 가장 크게 남기는 분할 영역에 배치 단편화 ※내부(Internal) 단편화 : 분할된 영역이 할당될 프로그램의 크기보다 크기 때문에 프로그램이 할당된 후 사용되지 않고 남아 있는 빈 공간 : 분할된 영역 > 작업 크기 ※외부(External) 단편화 : 분할된 영역이 할당될 프로그램의 크기보다 작기 때문에 프로그램이 할당될 수 없..

개인 공부 2019.07.28

운영체제 공부 ( 교착 상태 )

교착 상태 - 자원을 점유한 상태에서 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상 교착상태 발생의 필요 충분 조건 상호 배제 ( Mutual Exclusion ) : 한번에 한 프로세스만 자원 사용 점유와 대기 ( Hold & Wait ) : 다른 자원이 할당되기를 기다리는 동안 이미 확보한 자원을 계속 보유 비선점 ( Non-preemptive ) ; 강제로 빼앗을 수 없다. 환형 대기 ( Circular Wait ) : 서로간의 요구 관계가 회전 교착 상태 해결 방법 ※예방 기법 ( Prevention ) - 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법 - 교착 상태 발생의 4ㄷ가지 조건 중에서 어느 하나를 제거함으로써 수행 -일반적으로 자원의 낭비가 심하다 -종..

개인 공부 2019.07.28

운영체제 공부 ( 상호배제, 세마포어 등 )

임계 구역 - 임계 구역에는 하나의 프로세스만 접근, 작업은 신속하게 상호 배제 - 특정 프로세스가 공유 자원을 사용하고 있을 경우 다른 프로세스가 해당 공유 자원을 사용하지 못하게 제어 - 여러 프로세스가 동시에 공유 자원을 사용하려 할 때 각 프로세스가 번갈아가며 공유 자원을 사용하도록 하는 것 - 임계 구역을 유지하는 기법 - 상호 배제 기법을 사용함으로써 임계 구역 내에서는 인터럽트, 교착상태, 무한반복이 발생되지 않도록 한다. - 하드웨어적 구현 방법으로는 Test & Set 기법, Swap 명령어 기법이 존재 세마포어 - E.J.Dijkstra가 제안하였음 - P와 V라는 2개의 연산에 의해서 동기화를 유지 - 상호 배제의 원리를 보장 - S는 P와 V 연산으로만 접근 가능한 세마포어 변수 -..

개인 공부 2019.07.27

운영체제 공부 ( 스레드, 스케쥴링 )

스레드 ( Thread ) - 하나의 프로세스 내에서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위 - 실행 환경을 공유시켜 기억장소 및 자원의 낭비가 줄어든다. - 스레드는 프로세스의 일부 특성을 갖고 있기 때문에 경량 프로세스라고도 한다. - 동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능하다. - 하나의 프로세스에 하나의 스레드가 존재하는 경우에 단일 스레드 하나이상의 스레드가 존재하는 경우 다중 스레드라고 불린다. - 프로세스의 생성이나 문맥 교환 등의 오버헤드가 줄어 운영체제의 성능이 개선 스케쥴링 - 정의 : 프로세스가 생성되어 실행될 때 피룡한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업 - 목적 : 처리율 증가, CPU 이용률 증가, 응답 시간 최소화, 반환 시간 ..

개인 공부 2019.07.27

운영체제 공부 ( 프로세스 )

프로세스 - 실행중인 프로그램, PCB를 가진 프로그램, 실기억장치에저장된 프로그램 - 프로세서가 할당되는 실체, 프로시저가 활동 중인 것 - 비동기적 행위를 일으키는 주체 - 목적 또는 결과에 따라 발생되는 사건들의 과정 PCB - 프로세스의 현재 상태 - 포인터 (부모, 자식 프로세스에 대한 포인터) - 프로세스 고유 식별자 - 스케줄링 및 프로세스의 우선 순위 - CPU 레지스터 정보 ( 누산기, 인덱스 레지스터 등 ) - 입,출력 상태 정보 프로세스 상태 및 상태 전이 - 프로세스 의 상태 : 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), 대기(Wait), 종료(Terminated, Exit) - 프로세스 상태 전이 : Dispatch, Wake-Up, Spooling

개인 공부 2019.07.27

운영체제 공부 ( 운영체제 정의 및 기능 , 로더 등 )

운영체제의 정의 - 컴퓨터 시스템의 자원들을 효율적으로 관리 - 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램 - 종류 : Windows, MS-DOS, UNIX, Linux 등 운영체제의 성능 평가 기준 - 처리 기능 ( Throughput ) : 일정 시간 내에 시스템이 처리하는 일의 양 - 반환 시간 ( Turn Around Time ) : 시스템에 작업을 의로한 시간부터 처리가 완료될 때까지 걸리는 시간 - 사용 가능도 ( Availability ) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 - 신뢰도 ( Reliability ) : 시스템이 주어진 문제를 정확하게 해결하는 정도 운영체제의 기능 - 프로세스 관리 : 사용자 프로세스와 시스템 ..

개인 공부 2019.07.27

데이터베이스 공부 ( 병행 제어 )

병행 제어 목적 - 데이터베이스의 공유를 최대화 - 시스템의 활용도를 최대화 - 데이터베이스의 일관성을 유지 - 사용자에 대한 응답 시간을 최소화 로킹 단위 - 로킹 단위가 작으면 로크 수가 많아져 오버헤드가 커지고 관리하기 복잡하지만 병행성 수준이 높아진다. - 병행 제어에서 한꺼번에 로킹할 수 있는 데이터 단위 병행 수행의 문제점 - 하나의 트랜잭션 수행이 실패한 후 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상 이것을 비완료 의존성 ( Uncommitted Dependency )라고 한다. 병행 제어 기법 종류 ; 로킹 기법, 타임스탬프 기법, 낙관적 기법 분산 데이터베이스가 제공하는 4가지 투명성 ※위치 투명성 : 액세스 할려면 데이터베이스의 물리적으로 저장되어있는 실제 위치를 ..

개인 공부 2019.07.26

데이터 베이스 공부 ( 트랜잭션 )

트랜잭션 ( Transaction ) - 데이터베이스의 상태를 변화시키기 위하여 논리적인 기능을 수행하는 하나의 작업 단위 또는 한꺼번에 모두 수행되어야 할 일련 연산들 - 일반적으로 회복의 단위가 된다. - 하나의 트랜잭션은 Commit 되거나 Rollback 되어야 한다. - 특성 : 원자성(Atomicity), 일관성(Consistency), 독립성,격리성(Isolation), 영속성,지속성(Durability) 트랜잭션 특성 ※원자성 (Atomicity) - 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. - 완벽히 수행되지 않고 어느 하나라도 에러가 발생하면 트랜잭션 전부 취소되어야 한다. - 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 한다. ※일관성..

개인 공부 2019.07.26

데이터베이스 공부 ( 뷰, 데이터 사전 )

뷰 - 가상 테이블 - 독립적인 인덱스를 가질 수 없다. - 논리적 데이터 독립성을 제공 - 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제 - 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 재약이 따름 - 저장 장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것 처럼 간주 - 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호 - 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다. 뷰 정의문 CREATE VIEW 뷰이름[(속성 이름)[,속성이름])] AS SELECT문 뷰 삭제문 DROP VIEW 뷰이름 [RESTRICTED | CASCADE] 시스템 카탈로그 ( 데이터 사전 ) Data Dictionary - 시스템 자신이 필요로 하는 ..

개인 공부 2019.07.26

데이터베이스 공부 ( SQL문 )

SQL ※ 데이터 정의 언어 (DDL) - 데이터베이스, 테이블, 인덱스를 생성 및 삭제 - 데이터베이스의 논리적 데이터 구조와 물리적 데이터 구조를 정의하거나 수정할 목적으로 사용 - 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하고 변경하며 삭제 - SQL 종류 : CREATE(정의), ALTER(변경), DROP(삭제) ※데이터 조작 언어 (DML) - 데이터 처리를 위해 응용프로그램과 DBMS 사이의 인터페이스 제공 역할 - SQL 종류 : Select(검색), Insert(삽입), Update(갱신), Delete(삭제) - Delete ≠ Drop ※데이터 제어 언어 (DCL) - 데이터의 보안, 무결성, 회복과 복구 및 병행 제어 등을 정의하는데 사용 - SQL 종류 : COMMIT - 실제..

개인 공부 2019.07.26
반응형