일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준 2751번
- 10진수 2진수
- 백준 세수
- 2751번 C
- 백준 1003번
- 8진수
- 백준 1978번
- 배열 소수
- C
- 백준 손익분기점
- programers
- 십진수 이진수
- 백준 2869번
- 프로그래머스
- 백준 2839번
- 비트시프트
- 백준 10989
- 백준
- 16진수
- 백준 알고리즘
- c 백준 4344번
- 공부
- 백준 2775번
- 10989 C
- 백준 1026번
- 백준 1712번
- 백준 달팽이
- 백준 10817번
- 알고리즘
- 백준 4344번
- Today
- Total
IT Diary
정보처리기사 요점정리 본문
관계대수
릴레이션 조작을 위한 연산의 집합으로 피연산자가 릴레이션이고 결과도 릴레이션
Select, Project, Join, Divison
이상(Anomaly)
데이터의 중복으로 인하여 관계 연산을 처리할 때 곤란한 현상이 발생하는 것
이상의 종류
삽입 이상
삭제 이상
갱신 이상
뷰
- 가상 테이블 - 물리적으로 구현되는 테이블
- 논리적 데이터 독립성을 제공
- 시스템 검색은 일반 테이블과 동일하나 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름
- 실제 데이터가 저장되지 않음
- 독자적인 인덱스를 가질 수 없음
- 뷰를 이용한 또 다른 뷰의 생성이 가능
- 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제
- 접근 제한을 통한 보안 제공
- 필요한 데이터만 뷰로 정의해서 처리하여 사용자의 관리가 용이
- 뷰는 변경이 안 되어 지우고 다시 만들어야함
시스템 카탈로그(= 데이터 사전)
- 시스템 자신이 필요로 하는 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스로서, 포함하고 있ㄴ느 객체로는 테이블, 데이터베이스 스키마, 뷰, 접근 권한 등이 있음
메타 데이터(시스템 카탈로그에 저장된 정보)가 저장된 파일로 데이터에 대한 데이터. 이 파일은 실제 데이터가 데이터베이스 시스템에서 읽혀지고 수정되기 전에 참조되는 파일
트랜잭션
데이터베이스의 상태를 변화시키기 위하여 논리적 기능을 수행하는 하나의 작업 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들
하나의 트랜잭션은 commit 되거나 rollback 되어야함
일반적으로 회복의 단위가 됨
회복 시 참조하는 지점인 구조점은 여러 개 지정이 가능
Commit
트랜잭션의 실행을 성공적으로 완료되었음을 선언하는 SQL문
한 작업의 논리적 ㄷ단위가 성공적으로 끝났고, 데이터베이스가 다시 일관된 상태에 있으며, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산
Rolback
트랜잭션의 실행이 실패하였음을 알리는 연산자로 트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀 시키는 연산
트랜잭션의 특성은 원자성 일관성 격리성 독립성 영속성 지속성
트리거
트랜잭션을 취소하는 이외의 조치를 명세할 필요가 있는 경우 메세지를 보내 어떤 값을 자동으로 갱신하도록 프로시저를 기동시키는 방법
회복
트랜잭션들을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업
Immediate Update(즉각 갱신) : 로그 필요
병행 제어
목적
데이터베이스의 일관성 유지
데이터베이스이 공유를 최대화
사용자에 대한 응답 시간을 최소화
시스템 활용도를 최대화
문제점
비완료 의존성 : 하나의 트랜잭션 수행이 실패한 후 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상
기법
로킹 기법 스탬프 기법 낙관적 기법
분산 데이터베이스가 제공하는 4가지 투명성
위치 투명성 : 액세스 하려는 데이터베이스의 물리적으로 저장되어 있는 실제 위치를 알 필요 없음
중복 투명성 : 중복 사실을 모르고도 데이터 처리가 가능
병행 투명성 : 다수의 트랜잭션들이 동시에 실현되더라도 결과는 영향을 받지 않음
장애 투명성 : 장애에도 불구하고 트랜잭션을 정확하게 처리
데이터 모델
현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 논리적으로 표현한 것
개념적 데이터 모델
속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실세계를 표현하는 기법
논리적 데이터 모델
필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현하는 기법
데이터 간의 관계에 따라 관계형 데이터 모델, 계층형 데이터 모델, 망형 데이터 모델로 구분
물리적 데이터 모델
구성 3요소
구조 : 개체 타입과 개체 타입들 간의 관계를 기술한 논리적으로 표현된 데이터 구조
연산 : 데이터베이스에 표현된 개체 인스턴스를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본도구, 구조에 허용될 수 있는 연산
제약조건 : 연산에서의 제약 조건에 대한 명세를 기술
관계해석
개념적 설계
트랜잭션 모델링을 수행
독립적인 개념 스키마를 설계
논리적 설계
개념 스키마를 평가 및 정제
특정 DBMS에 따라 서로 다른 논리적 스키마를 설계
종속적인 논리적 스키마를 설계
트랜잭션 인터페이스 설계
물리적 설계
파일 조직 방법과 저장 방법 파일 접근 방법 등을 선정
저장 레코드의 양식을 설계
물리적 설계 옵션 선택 시 고려 사항 : 응답시간, 저장 공간 효율화, 트랜잭션 처리도
중복속성 제거 1NF
부분 종속성 제거 2NF
이행적 종속성 제거 3NF
결정자 제거 BCNF
다치 종속성 제거 4NF
조인 종속성 제거 5NF
분산시스템의 투명성(transparcncy)에 관한 설명으로 옳지 않은 것은?
위치 투명성 : 자원이 존재하는 위치를 몰라도 자원 접근 가능
이주 투명성 : 제약 없이 자원 이동 가능
복제 투명성 : 제약 없이 자원의 복제 가능
병행 투명성 : 다중 사용자들이 자원을 병행 처리 및 공유 가능
접근 투명성 : 원격 자원에 접근 가능
성능 투명성 : 부하에 대한 성능를 증가시키기 위해 시스템 재구성 가능
규모 투명성 : 시스템 구조나 응용 알고리즘의 변화 없이 규모에 맞추어 확장 가능
고장 투명성 : 하드웨어나 소프트웨어 구성 요소의 고장에도 불구하고, 사용자나 응용 프로그램의 작업 완료 가능
HRN
(대기 시간+서비스시간)/서비스시간
언어 번역 프로그램
로더는 4가지 기능
Allocation, Relocation, LInking, Loadin
1. 화이트박스 테스트
-테이터흐름
-루프
-조건
-기초경로
2. 블랙박스 테스트
-동치분할
-경계값 분석
-원인 효과 그래픽
-비교
전체 소스코드 생성 기능는 하위 CASSE의 주요기능이다
CASE(Computer Aided Software Engineering)
: 소프트웨어 개발 과정의 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화 하는 것.
소프트웨어 생명 주기의 “어느 부분을 지원하느냐”에 따라 상위CASE, 하위CASE, 통합CASE로 분류됨.
1.상위CASE : 소프트웨어 생명주기의 ‘상위=전반’부분인 요구분석,설계단계를 지원하는 CASE
2.하위CASE : 소프트웨어 생명주기의 ‘하위=하반’부분인 코드의 작성과 테스트, 문서화하는 과정을 지원하는 CASE
3.통합CASE : 소프트웨어 생명주기에 포함되는 전체 과정을 지원하는 CASE
*참고 : 일반적인 소프트웨어 생명주기
타당성 검토->개발 계획->요구사항 분석->설계->구현->테스트->유지보수
IETF에서 고안한 IPv4에서 IPv6로 전환하는데 사용되는 전략
Dual Stack : 하나의 시스템(호스트 또는 라우터)에서 IPv4와 IPv6를 동시에 처리하는 기술
Tunneling : 기존 IPv4 망을 전달망으로 사용해 섬처럼 서로 떨어져 있는 IPv6 망들을 연결시켜 주는 기술
Header translation : IPv4 망과 IPv6 망 사이의 연동 기술로 IPv6 클라이언트가 IPv4 서버에 접속할 때 또는 IPv4 클라이언트가 IPv6 서버에 접속할 때 사용된다.
외부스키마(External Schema) : 사용자나 응용 프로그래머가 각 [개인의 입장]에서 필요로 하는 [데이터베이스의 논리적 구조].
개념스키마(Conceptual Schema) : 데이터베이스의 [전체적인 논리적 구조]로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 통합한 [조직 전체의 데이터베이스].
내부스키마(Internal Schema) : [물리적 저장장치]의 입장에서 본 데이터베이스 구조로 물리적인 저장장치와 밀접한 계층.
(대괄호는 키워드입니다)
해싱에서 동일한 홈 주소로 인하여 충돌이 일어난 레코드들의 집합을 의미하는 것은?
Synonym |
Collision:동일한 홈 주소로 인하여 충돌이 일어나는 현상
synonym:동일한 홈 주소로 인하여 충돌이 일어난 레코드들의 집합
[해설작성자 : 두가지 연관지으면 좋아요]
Overflow: 해당 버킷에 더 이상의 레코드 키 값을 기억시킬 수 없어서 넘쳐나는 현상
Bucket: 하나의 주소를 가지면서 한 개 이상의 레코드를 저장할 수 있는 공간
운영체제에서 스레드(Thread)의 개념
스레드는 하나의 프로세스 내에서 병행성을 증대시키기 위한 메커니즘으로 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위이며, 독립적인 스케줄링의 최소 단위로서 프로세스 역할을 담당한다. 또 한 태스크 내에서 여러 개의 스레드로 나누어 생성할 경우 병행성을 증진시킬 수 있다.
1. Mutual exclusion(상호 배제) : 특정 프로세스가 공유 자원을 사용하고 있을 경우 다른 프로세스가 해당 공유자원을 사용하지 못하게 제어하는 기법.
2. Critical Section(임계 구역) : 여러 개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세스만 자원 혹은 데이터를 사용하도록 지정된 공유 영역을 의미.
3. Deadlock(교착 상태) : 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있어 아무것도 완료되지 못하는 상태
교착상태 발생의 필요충분조건
1. 상호배제(Mutual Exclusion) : 한번에 한 프로세스만 자원 사용.
2. 점유와 대기(Hold & Wait) : 다른 자원이 할당되기를 기다리는 동안, 이미 확보한 자원을 계속 보유하고 있다.
3. 비선점(Non-preemptive) : 강제로 빼앗을 수 없다.
4. 환형대기(Circular Wait) : 서로간의 요구관계가 회전.
기억장치의 고정 분할 할당에서 총 24K의 공간이 그림과 같이 8K, 8K, 4K, 4K로 나누어져 있고, 작업 큐에는 5K, 5K, 10K, 10K의 작업이 순차적으로 대기 중이라고 할 때 발생하는 전체 기억공간의 낭비를 계산하면 |
기억공간 낭비 : 작업이 운영체제에 할당되고 남은 공간 + 작업이 운영체제의 할당 용량보다 커 들어가지 못하여 남은 공간
순차적으로 진행 했을때
작업1 5K -> 운영체제1 8K 적재, 작업2 5K -> 운영체제2 8K 적재, 작업3,4 10K ->운영체제3,4의 용량보다 커서 적재 불가
8 - 5 = 3, 8 -5 = 3, 4, 4
3 + 3 + 4 + 4 = 14
[해설작성자 : choi]
[추가해설]
운영체제 작 업 큐
------- --------
8K 5K (8 - 5 = 3K 낭비)
8K 5K (8 - 5 = 3K 낭비)
4K 10K (4 - 0 = 4K 낭비, 작업큐가 운영체제보다 커서 적재불가)
4K 10K (4 - 0 = 4K 낭비, 작업큐가 운영체제보다 커서 적재불가)
-------------------
낭비된 기억공간의 총 합은?
3K + 3K + 4K + 4K = 14K
완전연결(Fully Connection)형 분산처리 시스템에 관한 설명으로 옳지 않은 것은?
사이트 수가 n개이면 링크 연결 수는 n(n-1)/2개이다.
자료 결합도 스탬프 결합도 제어 결합도 외부 결합도 공통 결합도 내용 결합도
신뢰성 Reliability : 요구된 기능을 얼마나 오류없이 정확하게 실행할 수 있는가
이식성 Portability : 다양한 하드웨어에서 운용 가능 하도록 쉽게 수정할 수 있는가
정확성 Correctness : 사용자가 요구한 기능을 얼마나 충족시키는가
효율성 Efficiency : 얼마나 많은 자원이 필요한가 (필요한 자원의 정도)
프리픽스 포스트픽스
소프트웨어 개발 보안 점검 항목
세션 통제 | 세션은 서버와 클라이언트의 열결을 말하며, 세션 통제는 세션의 연결과 연결로 인해 발생하는 정보관리 보안 약점에는 불충분한 세션관리, 잘못된 세션에 의해 정보 노출 |
입력 데이터 검증 및 표현 | 입력 데이터에 대한 유효성 검증체계를 갖추구, 검증 실패 시 이를 처리할 수 있도록 코딩 |
보안 기능 | 인증 접근제어 기밀성 암호화 등의 기능을 의미 |
시간 및 상태 | 동시 수행을 지원하는 병렬 처리 시스템이나 다수의 프로세스가 동작하는 환경에서 시간과 실행 상태를 관리하여 시스템이 원활히 동작되도록 코딩하는 것을 의미 |
에러처리 | 소프트웨어 실행 중 발생할 수 있는 오류들을 사전에 정의하여 에러로 인해 발생할 수 있는 문제들을 예방하는 것을 의미 |
코드 오류 | 개발자들이 코딩 중 실수하기 쉬운 형 변환, 자원의 반환 등을 고려하며, 코딩하는 것을 의미 |
캡슐화 | 데이터와 데이터를 처리하는 함수를 하나의 객체로 묶어 코딩 보안 약점은 잘못된 세션에 의해 데이터 정보 노출 제거되지 않고 남은 디버스 코드 |
API 오용 | 보안에 취약한 api를 사용 |
연산자 우선 순위(낮음 -> 높음)
순서 -> 대입 -> 조건 -> 이항(논리 -> 비트 -> 관계 -> 시프트 -> 산술) -> 단항
Linker
목적 프로그램과 라이브러리. 실행 프로그램 등을 연결하여 실행 가능한 로드 모듈을 만든다.
UNIX
시분할 시스템을 위해 설계된 대화식 운영체제로 소스가 공개된 개방형 시스템
대부분 C 언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높음
크기가 작고 이해하기가 쉬움
다중 사용자, 다죽 작업을 지원
많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합
트리구조 파일 시스템을 갖는다
전문적인 프로그램 개발에 용이
다양한 유틸리티 프로그램 존재
커널
UNIX의 핵심
컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행
하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할 담당
DOS의 COMMAND.COM과 같은 기능을 수행
주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조 기억장치에서 교체처리가능
파이프라인 기능을 지원하고 입출력 재지정을 통해 출려과 입력의 방향을 변경
공용 SHELL이나 사용자 자신이 만든 SHELL을 사용
LINUX
프로그램 소스 코드가 무료로 공개되어 있기 때문에 프로그래머가 원하는 기능을 추가 가능, 재배포 가능
UNIX와 완벽히 호환가능
대부분의 특징 UNIX와 동일
페이지 크기
작을 경우
페이지 단편화 감소, 한 개의 페이지를 주기억장치에 이동하는 시간이 줄어듦
'Study > 정보처리기사' 카테고리의 다른 글
정보처리기사 이해하기 힘든 것을 모아 요점 정리 (0) | 2020.09.21 |
---|---|
정보처리기사 2과목 - 소프트웨어 개발 (0) | 2020.09.17 |
정보처리기사 1과목 - 소프트웨어 설계 (0) | 2020.09.15 |
정보처리기사 5과목 (0) | 2020.09.11 |
정보처리기사 4과목 (0) | 2020.09.09 |