mysql 샘플 테이블 + 쿼리 연습 문제

http://java-school.net/jdbc/SQL-SELECT-Statement CREATE TABLE DEPT (     DEPTNO DECIMAL ( 2 ),     DNAME VARCHAR ( 14 ),     LOC VARCHAR ( 13 ),     CONSTRAINT PK_DEPT PRIMARY KEY ( DEPTNO ) ); CREATE TABLE EMP (     EMPNO DECIMAL ( 4 ),     ENAME VARCHAR ( 10 ),     JOB VARCHAR ( 9 ),     MGR DECIMAL ( 4 ),     HIREDATE DATE ,     SAL DECIMAL ( 7 , 2 ),     COMM DECIMAL ( 7 , 2 ),     DEPTNO DECIMAL ( 2 ),     CONSTRAINT PK_EMP PRIMARY KEY ( EMPNO ),     CONSTRAINT FK_DEPTNO FOREIGN KEY ( DEPTNO ) REFERENCES DEPT ( DEPTNO ) ); CREATE TABLE SALGRADE (     GRADE TINYINT ,     LOSAL SMALLINT ,     HISAL SMALLINT ); INSE...

[방통대] 운영체제 요점정리

1.병행 프로세스

  • < style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;" >임계영역 :  2개 이상의 프로세스가 동시에 액세스하면 안 되는 공유 자


  • 상호배제 : 2개 이상의 프로세스가 동시에 임계영역에 진입하지 못하게 하는 것


  • 세마포어 : 상호 배제나 동기화 문제 등을 해결하기 위한 정수형 공용 변수 (P감소 V증가)


  • 프로세스간 통신

    • 공유기억장치 기법 : 공유변수, 프로그래머

    • 메세지 시스템 기법 :  send/receive, 운영체제

      • 직접통신

      • 간접통신 : 우편함



2. 교착상태

  2개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다 리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태


  • 교착상태의 필요조건

    • 상호배제

    • 점유 대기

    • 비선점

    • 환형 대기





3. 메모리 관리

  • 단일 프로그래밍 환경 : 메모리 낭비

  • 다중 프로그래밍 환경 : 메모리 분할

    • 고정분할 : 고정된 크기로 분할, 내부단편화

    • 동적분할 : 외부단편화

      • 외부단편화 해결 : 통합(인접공백), 집약(모든공백)


4. 가상 메모리 

  • 가상주소  ≠ 실주소

  • 가상주소를 실주소로 변환 : 사상 mapping

    • 블록단위 주소변환: 블록 단위로 분류하여 각 블록이 메모리의 어디에 위치하는지를 관리


  • 블록 구성 방식에 따른 분류

    • 페이징 기법 : 블록의 크기가 동일

      • 가상메모리를 고정된 크기 페이지로 나눔

      • 메모리도 페이지와 동일크기 페이지 프레임으로 나눔

      • 논리적 의미와 무관

      • 내부단편화

      • 페이지 사상표 : 가상주소를 실주소로 동적 변환 위해 필요

        • 직접사상 : 페이지 사상표를 직접 이용

        • 연관사상 : 연관기억장치에 저장한 연관 사상표를 이용

        • 연관사상표에는 가장 최근 참조된 페이지만 보관

        • 연관사상표에서 빠르게 먼저 찾고 없으면 페이지 사상표에서 찾아


  • 세그먼테이션 기법

    • 논리적 의미에 맞는 크기의 세그먼트 단위

    • 외부 단편화

    • 하나의 세그먼트는 연속된 기억공간에 할당

    • 가상주소 v=(s세그먼트 시작위치, d만큼 떨어진곳)

    • 세그먼트 사상표

      • 존재비트, 보조기억장치주소, 세그먼트길이, 세그먼트 시작주소


  •  페이징 기법 > 페이지 호출 기법

    • 요구 페이지 호출 기법

      • 오버헤드 최소화

      • 페이지 부재 발생(성능저하)

    • 예상 페이지 호출 기법

      • 메모리 공간 낭비

      • 프로세스 시작 시점에 적용하면 성능 개선됨


  •  페이징 기법 > 페이지 교체 기법

    • 실메모리의 모든 페이지 프레임이 사용중일 때 어느 페이지를 교체할지 결정


  • 교체대상 선택 

    • 최적화 원칙(실현불가능)

    • 시간, 공간의 오버헤드 적은 방법 선택

    • 교체 제외 페이지 : 슈퍼바이저 코드영역, 보조 기억장치 드라이버 영역, 입출력장치를 위한 데이터 버퍼 영역 등




  • 페이지 교체 알고리즘

    • FIFO : First In First Out

      • Belady 발생


  • LRU : Least Recently Used

    • 참조시간 가장 오래된것 교체

    • Belady 발생 X

    • 참조시간 이용, 리스트 이용

    • 국부성(locality)에 기반

    • 막대한 오버헤드


  • LFU : Least Frequently Used

    • 참조 횟수 가장 적은것 교체

    • 참조 횟수 이용 +1

    • 가장 최근 메모리에 올라온게 교체될 가능성 높아

    • 막대한 오버헤드


  • NUR : Not Used Recently

    • 최근사용 적은것 교체

    • 참조비트 r

    • 수정비트 m

    • 적은 오버헤드

    • LRU 비슷함, 실제로 자주쓰임

    • 동일그룹 내에선 무작위

    • 참조비트 r 주기적으로 0 변경


  • 2차 기회

    • FIFO + 참조비트


  • 클럭

    • 2차기회(FIFO+참조비트) -> 원형 큐

  • 프로세스별 페이지 집합 관리

    • 프로세스별 페이지 프레임에 적재된 페이지들의 집합


  • 워킹세트 알고리즘

    • 어떠한 시점을 기준으로 정해진 크기의 과거 시간 구간 동안 참조된 페이지의 집합

    • Denning 데닝이 제안

    • 페이지 부재 비율 감소

    • W(t 현재시간, w 윈도크기)

    • 현재시점 에서 w 만큼 돌아가


  • PFF 알고리즘 : Page Fault Frequency 

    • 페이지 부재 비율이 높으면 페이지 프레임을 더 배정하고, 낮으면 회수



5. 장치

  • CPU 

  • 메모리

  • 입출력장치

    • 전용장치 : 한 번에 하나의 프로세스 할당

      • 테이프 드라이브, 프린트

    • 공용장치 : 여러 프로세스 동시 할당

      • 직접접근 저장장치 (디스크)

      • 스케줄링 기법 필요

    • 가상장치 : 전용장치를 공용장치 처럼 보이게함

      • 공용장치 이용, 스풀링


 



6-1. 입출력 처리 유형

  • 프로그램 방법

    • CPU만을 이용

    • Polling 폴링

    • CPU 낭비 심함


  • 인터럽트 방법

    • 인터럽트 : 다른장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 기능

    • 인터럽트 처리과정

  1.  IO장치가 인터럽트 제어기에 신호 보냄

  2.  인터럽트 제어기는 CPU에 인터럽트 신호 보냄

  3.  CPU는 현재 실행 중이던 명령 마친 후 인터럽트에   응답

  4.  인터럽트 제어기는 이벤트 대상에 대한 정보를 CPU에게 보냄

  5.  CPU는 현재상태 보관하고 입출력처리 한 후 원래 상태로 복귀


  • DMA 방법 : Direct Memory Access

    • DMA 제어기 이용

    • CPU 통하지 않고 직접 메모리 접근

    • 입출력 양이 많아도 한번의 인터럽트만 발생

    • CPU 효율 증대

    • DMA 처리과정

  1.  CPU는 입출력에 필요한 정보 DMA제어기에 넘김

  2.  DMA제러기는 소스에서 목적지로 제이터를 보내도록 장치제어기에 요청

  3.  원하는 양의 입출력이 끝나면 DMA 제어기는 인터럽트 제어기에 신호 보내 인터럽트 발생시킴

  4.  CPU에게 입출력 작업 완료 알림

  • 사이클 스틸링

    • CPU와 DMA 제어기가 동시에 메모리 액세스 시도하면 충돌 발생

    • DMA 제어기에 우선권 부여


6-2. 입출력 관리

  • 버퍼링 : CPU의 데이터 처리 속도와 데이터 전송 속도의 차이로 인한 문제를 메모리의 일부를 일시적 데이터 저장 장소로 사용하는 버퍼를 이용하여 해결하는 방법


  • 스풀링 : 입출력 프로세스와 저속 입출력 장치 사이의 데이터 전송 을 자기 디스크와 같은 고속 장치를 통하도록 하여 입출력 작업이 빨리 끝나 도록 한다


7-1. 저장장치

  • 저장장치 종류

    • 순차접근 저장장치

      • ex) 테이프 장치

      • 대량 데이터 백업용

    • 직접접근 저장장치

      • 위치를 지정하여 데이터를 직접 읽고씀

      • 자기 디스크 : 자성 디스크 표면

        • 플래터, 헤드, 암, 트랙, 섹터

      • 광 디스크 : 표면에 레이저 쏘아 반사 빛 차이 이용

        • 나선형 트랙

        • CD, DVD, 블루레이

      • SSD

        • 비싸, 수명짧아, 빨라, 전력소모 적어




  • 디스크 스케줄링 알고리즘

최소화에 가장 중점을 두는 요소는?  - 탐구시간


  • FCFS 

  • SSTF : Shortest Seek Time First

    • 탐구시간 가장 짧은것 먼저

    • 응답시간 큰 편차

  • SCAN

    • 가장 안쪽과 바깥쪽 왕복. 진행방향 가장 가까운것 먼저

    • 앞에 요구 없어도 끝까지감

    • 새로운 요구 위치따라 응답시간 편차 발생

  • N-Step SCAN

    • SCAN -> 새로운 요구는 반대방향 할때 처리

  • C-SCAN : Circular SCAN

    • 한쪽 방향으로만 가까운 것 처리

  • LOOK

    • SCAN -> 앞에 요구 없으면 방향바꿔

  • C-LOOK

    • C-SCAN -> 앞에 요구 없으면 방향바꿔


  • SLTF : Shortest Latency Time First

    • 회전지연시간 가장 짧은거


7-2. 파일구조와 접근방식

  • 파일 구조 : 파일을 구성하는 레코드들이 보조기억장치에 매치되는 방식

  • 순차파일

    • 레코드가 물리적 순서에 따라 저장되어 있는 파일

    • 순차적으로 기록, 판독

    • 자기테이프

  • 인덱스된 순차파일

    • 레코드가 키를 기준으로 한 논리적 순서로 저장되어 있는 파일

    • 순차접근(키순서), 직접접근(인덱스 검색)

    • 디스크

  • 직접 파일

    • 레코드의 주소를 이용하여 직접 액세스 되는 파일

    • 논리적인 키와 물리적 주소의 매핑은 프로그래머가 정의



8. 분산 시스템

  • 분산 시스템 목적

    • 자원공유

    • 연산속도 향상

    • 신뢰성 향상

    • 통신의 용이성


  • 분산 운영체제가 제공하는 기능

    • 데이터 이주

    • 계산 이주

    • 프로세스 이주

  • 분산시스템 네트워크

    • 트리구조 : 비교적 저렴, 가용성 낮음

    • 스타형 : 저렴, 가용성 높음(중앙사이트 제외)

    • 링형 : 비쌈, 가용성 비교적 높음

    • 버스형 : 저렴, 가용성 높음(버스 제외)

 





9. 운영체제 보안

  • 운영체제 보안의 기본 목표

    • 기밀성 : 노출 예방

    • 가용성 : 접근 가능

    • 무결성 : 자원 보호


  • 암호 알고리즘

    • 비밀키 = 대칭키 (암호화key = 복호화key)

    • 공개키 = 비대칭키 (전자서명)


  • 운영체제 보안 모델

    • 참조 모니터 모델

      • 데이터 베이스를 참조하여 보안 정책을 수행

      • 정보의 안전한 흐름 보장X

    • 정보 흐름 모델

      • 벨라파듈라 BLP : 상위에서 하위로 정보 흐름 방지

      • 비바 : BLP에 불법수정 방지 추가. 무결성 중시.