정보처리기사 자격증을 공부하면서 이론 부분 정리한 내용입니다. 필기 정리글에 썼던 내용과 같은 것도 몇 가지 있습니다. 아직 저도 결과는 안 나왔지만 다른 분들 공부할 때 도움이 되었으면 좋겠네요.
오타 있을 수 있습니다. 필기 합격한 뒤에 외워야 하는 것들 위주로 정리했기 때문에 모든 것들을 정리하진 않았습니다. 스크롤 길어요!!
※ 애자일(Agile)
시제품을 끊임없이 제작하며 사이클을 반복하는 개발 방법론.
※ UML 다이어그램
구성요소: 사물, 관계, 다이어그램
관계 | 설명 |
Association 연관 | 2개 이상의 사물이 서로 관련되어 있음 |
Aggregation 집합 | 하나의 사물이 다른 사물에 포함되어 있음 |
Composition 포함 | 포함하는 사물의 변화가 포함되는 사물에 영향을 미침 |
Generalization 일반화 | 사물이 다른 사물에 비해 더 일반적인지 구체적인지 |
Dependency 의존 | 필요에 의해 서로 영향을 주는 짧은 시간 동안만 연관을 유지 |
Realization 실체화 | 사물이 할 수 있거나 해야 하는 기능으로 서로를 그룹화할 수 있음 |
*집합과 포함 헷갈리지 않게 주의!
다이어그램 종류
구조적 다이어그램 | |
Class | 클래스 사이의 관계 |
Object | 특정 시점의 객체와 객체 사이의 관계. 럼바우 객체 모델링 |
Component | 컴포넌트 간의 인터페이스. 구현 단계 |
Deployment | 물리적 요소들의 위치. 구현 단계 |
Composite Structure | 복합구조를 갖는 경우 그 내부 구조 표현 |
Package | 모델 요소들을 그룹화한 패키지들의 관계 |
행위 다이어그램 | |
Use case | 요구 분석. 사용자와 사용 사례로 구성 |
Sequence | 객체들이 주고받는 메시지 표현 |
Communication | 객체들 간의 연관까지 표현 |
State | 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현. 럼바우 동적 모델링 |
Activity | 객체의 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현 |
Interaction Overview | 상호작용 다이어그램 간의 제어 흐름을 표현 |
Timing | 객체 상태 변화와 시간 제약을 명시적으로 표현 |
UML 다이어그램 모양 참고: https://creately.com/blog/diagrams/uml-diagram-types-examples/
※ LOC 기법
개발 소요 기간 = 30000라인 / 월간 평균 생산성 300라인 / 참여 프로그래머 5명
=20개월
※ 데이터베이스 구축 과정
1 요구 분석
2 개념적 설계: 트랜잭션 모델링, 개념 스키마 모델링, E-R 다이어그램
3 논리적 설계: 트랜잭션 인터페이스 설계, 정규화
4 물리적 설계: 저장장치에 저장할 수 있는 데이터로 변환
5 구현
데이터 모델의 구성 요소 | |
개체(Entity) | 표현하려는 것. 현실 세계의 대상체 |
속성(Attribute) | 데이터의 가장 작은 논리적 단위. 데이터 항목 또는 데이터 필드 |
관계(Relationship) | 개체 간의 관계 또는 속성 간의 논리적이 연결 |
데이터 모델에 표시할 요소 | |
구조(Structure) | 논리적으로 표현된 개체 타입들 간의 관계. 데이터 구조 및 정적 성질 표현. |
연산(Operation) | 데이터를 처리하는 작업에 대한 명세. 데이터베이스를 조작하는 기본 도구. |
제약 조건(Constraint) | 저장될 수 있는 데이터의 논리적인 제약 조건 |
※ 관계형 데이터베이스 용어 정리
릴레이션 Relation = 테이블
애트리뷰트 Attribute = 열 = 필드
차수 Degree = 열들의 수
튜플 Tuple = 행 = 레코드 Record
카디날리티 Cadinality = 행들의 수
도메인 Domain = 한 애트리뷰트에 나타낼 수 있는 값들의 집합. 원자값(더 나누어지지 않는 값)
스키마 Schema = 릴레이션 이름과 애트리뷰트들의 집합 = 내포 Intension
인스턴스 Instance = 릴레이션의 어느 시점에 들어있는 튜플들의 집합(값을 가진 튜플) = 외연 Extension
슈퍼키: 유일성 만족
후보키: 유일성과 최소성 만족
※ 관계대수
관계형 데이터베이스에서 정보를 검색하기 위한 절차적 언어
∂ | Select | 조건을 만족하는 튜플의 부분집합을 구해 새로운 릴레이션 생성. |
π | Project | 속성 값만을 추출하여 새로운 릴레이션 생성. 애트리뷰트를 추출 |
⨝ | Join | 공통 속성을 중심으로 두 개의 릴레이션을 합침 |
÷ | Division | X⊃Y인 릴레이션 R(X)와 S(Y)가 있을 때 R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만 구함. |
∪ | UNION | 튜플의 합집합. 중복되는 튜플은 제거. |
∩ | INTERSECTION | 튜플의 교집합. |
- | DFFERENCE | 튜플의 차집합 |
× | CARTESIAN PRODUCT | 교차곱. 튜플들의 순서쌍을 구하는 연산. 차수의 수는 더하고 카디널리티 수는 곱한다. |
※ 관계해석
관계 데이터의 연산 표현
계산 수식 사용
비절차적 특성
튜플 관계해석, 도메인 관계해석
∀ | 전칭 정량자 | 가능한 모든 튜플에 대하여(For All) |
∃ | 존재 전량자 | 하나라도 일치하는 튜플이 있음(There Exists) |
※ 이상(Anomaly)
삽입 이상 Insertion Anomaly |
의도와 상관없는 값도 함께 삽입됨 |
삭제 이상 Deletion Anomaly |
의도와 상관없는 값도 함께 삭제됨 |
갱신 이상 Update Anomaly |
일부 튜플의 정보만 갱신되어 정보에 모순이 생김 |
※ 정규화 과정
비정규 릴레이션
↓ 도메인이 원자값
제1정규형
↓ 부분적 함수 종속 제거
제2정규형
↓ 이행적 함수 종속 제거
제3정규형
↓ 결정자이면서 후보키가 아닌 것 제거
BCNF
↓ 다치 종속 제거
제4정규형
↓ 조인 종속성 이용
제5정규형
*반정규화(비정규화): 정규화된 데이터 모델을 통합, 중복, 분리하는 과정. 시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 의도적으로 정규화 원칙을 위배한다.
※ 트랜잭션(Transaction)
: 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 혹은 한꺼번에 수행되어야 할 일련의 연산
특성 | 설명 |
Atomicity 원자성 |
트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되거나 전혀 반영되지 않도록 복구(Rollback)되어야 한다. |
Consistency 일관성 |
트랜잭션 실행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 고정 요소는 트랜잭션 수행 전과 후가 같아야 한다. |
Isolation 독립성 |
둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다. |
Durability 지속성 |
성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다. |
연산 | 설명 |
REDO | 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션 시작, 완료 기록이 있는 트랜잭션들의 작업을 재작업한다. |
UNDO | 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션 시작과 완료 기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다. |
ROLLBACK | 트랜잭션이 실패한 경우 작업을 취소하고 이전 상태로 되돌리기 위한 명령어 |
COMMIT | 트랜잭션이 성공적으로 끝나 데이터베이스가 일관된 상태에 있을 때 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알리는 연산 |
RECOVERY | 트랜잭션 수행 중에 오류가 생긴 경우 지금까지 실행한 연산 처리를 모두 취소하고 작업 전 상태로 되돌린다. |
※ 웹 서비스 구현
WSDL (Web Services Description Language) |
웹 서비스 관련 서식이나 프로토콜 등을 표준 방법으로 기술하고 게시하기 위해 XML로 작성된 언어 |
UDDI (Universal Description, Discovery and Integration) |
웹 서비스 관련 정보의 공개와 탐색을 위한 표준 전역 비즈니스 레지스트리. 서비스 내용을 인터넷상에 등록할 수 있게 하는 XML 기반 등록처 |
SOAP (Simple Object Access Protocol) |
HTTP, HTTPS, SMTP 등을 사용해 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜 |
※ 접근통제(Access Control): 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것
DAC Discretionary 임의접근통제 |
사용자의 신원에 따라 접근 권한을 부여하여 제어. 데이터 소유자가 권한을 지정하고 제어. GRANT, REVOKE |
MAC Mandatory 강제접근통제 |
객체의 등급을 비교하여 접근 권한을 부여. 시스템이 권한을 지정. |
RBAC Role Based 역할기반접근통제 |
역할에 따라 접근 권한을 부여. 중앙관리자가 권한을 지정. 다중 프로그래밍 환경에 최적화. |
※ 럼바우 데이터 모델링
객체 모델링 =정보 모델링 Object, Information |
객체 간의 관계를 규정하여 표시. ERD |
동적 모델링 Dynamic |
시간의 흐름에 따른 객체들 간의 제어 흐름, 상호작용, 동작 순서 등의 동적인 행위를 표현. STD(상태 변화도), 사건 추적도 |
기능 모델링 Function |
프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현. DFD(자료흐름도) |
※ 객체지향 설계 원칙
SRP Single Responsibility 단일 책임 원칙 |
객체는 하나의 책임만 가져야 한다 |
OCP Open-Closed 개방-폐쇄 원칙 |
기존 코드를 변경하지 않고 기능을 추가할 수 있게 설계해야 한다. |
LSP Liskov Substitution 리스코프 치환 원칙 |
자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다 |
ISP Interface Segregation 인터페이스 분리 원칙 |
자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다 |
DIP Dependency Inversion 의존 역전 원칙 |
객체들 간의 의존 관계가 성립할 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다. |
※ 결합도(Coupling)
Data Coupling 자료 |
자료 요소 -결합도 약함 |
Stamp Coupling 스탬프 |
자료 구조 |
Control Coupling 제어 |
제어 신호 |
External Coupling 외부 |
참조 |
Common Coupling 공통/공유 |
공통 데이터 영역 |
Content Coupling 내용 |
직접 참조 -결합도 강함 |
※ 응집도(Cohesion)
Functional Cohesion 기능적 |
모든 기능 요소들이 단일 문제와 연관되어 수행 -응집도 강함 |
Sequential Cohesion 순차적 |
하나의 활동으로부터 나온 출력 데이터를 다음 활동 입력 데이터로 사용 |
Communication Cohesion 교환적/통신적 |
동일한 입력과 출력을 사용해 서로 다른 기능을 수행하는 구성 요소 |
Procedural Cohesion 절차적 |
모듈이 다수의 관련 기능을 가질 때 구성 요소들이 그 기능을 순차적으로 수행할 경우 |
Temporal Cohesion 시간적 |
특정 시간에 처리되는 기능 |
Logical Cohesion 논리적 |
유사한 성격을 갖거나 특정 형태로 분류되는 요소들 |
Coincidental Cohesion 우연적 |
서로 관련 없는 요소 -응집도 약함 |
*결합도가 낮을수록 응집도가 높을수록 좋은 품질.
※ 디자인 패턴
생성, 구조, 행위 패턴(Creational, Structural, Behavioral)
*각 패턴 이름 알파벳 순서입니다.
생성 패턴 | |
Abstract Factory | 구체적인 클래스에 의존하지 않고 인터페이스를 통해 서로 연관/의존하는 객체들의 그룹으로 생성하여 추상적으로 표현. 연관된 서브 클래스를 묶어 한 번에 교체할 수 있음. |
Builder | 작게 분리된 인스턴스를 건축 하듯이 조합. 객체의 생성 과정과 표현 방법을 분리. |
Factory Method | 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화. 상위 클래스에서는 인터페이스만 정의. 가상 생성자(Virtual Constructor) 패턴이라고도 함. |
Prototype | 원본 객체를 복제해서 객체 생성 |
Singleton | 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만 여러 프로세스가 동시에 참조할 수는 없음. 클래스 내에 인스턴스가 하나뿐임을 보장. |
구조 패턴 | |
Adapter | 호환성이 없는 클래스들의 인터페이스를 이용할 수 있도록 변환. |
Bridge | 구현부에서 추상층 분리. 기능과 구현을 두 개의 별도 클래스로 구현. |
Composite | 복합 객체와 단일 객체를 구분 없이 다루고자 할 때 사용. 객체들을 트리 구조로 구성. |
Decorator | 객체 간의 결합을 통해 능동적으로 기능들을 확장하 할 수 있음. 부가 기능을 추가하기 위해 다른 객체들을 덧붙이는 방식으로 구현. |
Facade | 복잡한 서브 클래스들을 피해 더 상위에 인터페으스를 구성하여 서브 클래스 기능을 간편하게 사용. 서브 클래스들 사이의 통합 인터페이스 제공을 위해 Wrapper 객체 필요. |
Flyweight | 인스턴스를 가능한 한 공유해서 사용해 메모리 절약. |
Proxy | 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할 수행. |
행위 패턴 | |
Chain of Responsibility | 요청 처리 가능한 객체가 여러 개일 때 한 객체가 처리하지 못하면 다음 객체로 넘어감. 요청이 해결될 때까지 고리를 따라 책임이 넘어감. |
Command | 요청을 객체의 형태로 캡슐화. |
Interpreter | 언어에 문법 표현을 정의 |
Iterator | 접근이 잦은 객체에 대해 동일한 인터페이스를 사용. 내부 표현 방법 노출 없이 순차적인 접근 가능. |
Mediator | 복잡한 상호작용을 캡슐화. 객체 사이의 의존성을 줄여 결합도 감소. |
Memento | 특정 시점에서의 객체 내부 상태를 객체화. 되돌리기 기능 |
Observer | 한 객체의 상태가 변화하면 상속되어 있는 다른 객체들에게 변화된 상태를 전달. 이벤트 생성/발행하고 이를 수신할 때 이용. |
State | 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용. 객체 상태 캡슐화 및 참조. |
Strategy | 동일 계열의 알고리즘을 개별적으로 캡슐화. |
Template Method | 상위 클래스에서 골격 정의, 하위 클래스에서 세부 처리를 구체화하는 구조. |
Visitor | 클래스의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성. 분리된 처리 기능이 각 클래스를 방문하여 수행. |
객체 생성 과정과 표현 방법을 분리 -> Builder
구현부와 추상층 분리, 기능과 구현 분리 -> Bridge
데이터 구조에서 처리 기능 분리 -> Visitor
상위 클래스에서 인터페이스 정의, 서브 클래스에서 생성 -> Factory Method
상위 클래스에서 골격 정의, 하위 클래스에서 세부 처리 -> Template Method
스펠링 끝이 er인 단어: Builder, Adapter, Interpreter
디자인 패턴 그림 설명 참고: https://refactoring.guru/ko/design-patterns/creational-patterns
※ UI 설계 원칙
직관성 | 누구나 쉽게 이해하고 사용할 수 있어야 한다. |
유효성 | 사용자의 목적을 정확하고 완벽하게 달성해야 한다. |
학습성 | 누구나 쉽게 배우고 익힐 수 있어야 한다. |
유연성 | 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 한다. |
*'직효학연'으로 외웠음.
※ 어플리케이션 테스트 용어
결함 집중 Defect Clustering |
대부분의 결함이 소수의 특정 모듈에 집중해서 발생하는 것 |
파레토 법칙 Pareto Principle |
테스트로 발견된 80%의 오류는 20%의 모듈에서 발견되므로 이를 집중적으로 테스트하여 효율적으로 오류를 찾자는 것 |
살충제 패러독스 Pesticide Paradox |
동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 것 |
오류-부재의 궤변 Absence of Errors Fallacy |
결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없다는 것 |
※ 화이트박스 테스트/블랙박스 테스트
화이트박스 테스트 종류 | |
Base Path Testing 기초 경로 검사 |
테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 함. |
Control Structure Testing 제어 구조 검사 |
Condition Testing 조건 검사: 모듈 내 논리적 조건을 테스트 Loop Testing 루프 검사: 반복 구조에 초점을 맞춰 테스트 Data Flow Testing 데이터 흐름 검사: 변수의 정의와 변수 사용의 위치에 초점을 맞춰 테스트 |
블랙박스 테스트 종류 | |
Equivalence Partitioning Testing 동치 분할 검사, 동등 분할 기법, 동치 클래스 분해 |
입력 자료에 초점을 맞춰 테스트 케이스를 만듦. 조건에 타당한 자료와 아닌 자료를 균등하게 골라 입력 자료에 맞는 결과가 출력되는지 확인 |
Boundary Value Analysis 경계값 분석 |
입력 조건의 경계값으로 테스트 |
Cause-Effect Graphing Testing 원인-효과 그래프 검사 |
입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 후 효용성이 높은 테스트 케이스를 선정하여 검사 |
Error Guessing 오류 예측 검사, 데이터 확인 검사 |
과거의 경험이나 확인자의 감각으로 테스트 |
Comparison Testing 비교 검사 |
여러 버전의 프로그램에 동일 테스트 자료를 제공하여 동일한 결과가 출력되는지 확인 |
※ 화이트박스 테스트 검증 기준(테스트 케이스 설계 방법)
Statement Coverage 문장 검증 기준 |
모든 구문 한 번 이상 수행 |
Branch Coverage = Decision Coverage 분기 검증 기준 = 결정 검증 기준 |
모든 조건문에 대해 True인 경우와 False인 경우가 한 번 이상 수행 |
Condition Coverage 조건 검증 기준 |
개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행 |
Branch/Condition Coverage 분기/조건 기준 |
조건문이 True인 경우와 False인 경우에 따라 조건 검증 기준의 입력 데이터를 구분 |
※ 애플리케이션 테스트 V-모델
요구사항 | 요구사항 확인 → | 인수 테스트 |
분석 | 기능 확인 → | 시스템 테스트 |
설계 | 인터페이스 확인 → | 통합 테스트 |
구현 | 모듈 확인 → | 단위 테스트 |
※ 통합 테스트
상향식 | 하향식 |
하위 모듈에서 상위 모듈 방향으로 통합 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터(Cluster) 필요 테스트 드라이버 |
상위 모듈에서 하위 모듈로 통합 깊이 우선 통합법, 넓이 우선 통합법 사용 초기부터 사용자에게 시스템 구조를 보여줌. 테스트 스텁 |
※ 목적에 따른 테스트
Recovery | 결함을 주고 올바르게 복구되는지 확인 |
Security | 보호 도구가 불법 침입으로부터 시스템을 보호하는지 확인 |
Stress | 과부하 시에도 정상적으로 실행되는지 확인 |
Performance | 실시간 성능이나 전체적인 효율성을 진단. 응답 시간, 처리량 등 |
Structure | 소프트웨어 내부의 논리적인 경로, 소스코드의 복잡도 평가 |
Regression | 소프트웨어의 변경 또는 수정된 코드에 새로운 결함이 없음을 확인. 이미 테스트된 프로그램의 테스팅을 반복 |
Parallel | 변경된 소프트웨어와 기존 소프트웨어에 동일한 데이터를 입력하여 결과 비교 |
※ 테스트 오라클
테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법 및 활동
True 참 오라클 |
모든 테스트 케이스의 입력값에 대해 기대하는 결과를 제공하는 오라클. 발견된 모든 오류를 검출. |
Sampling 샘플링 오라클 |
특정 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클 |
Heuristic 추정 오라클 |
특정 테스트 케이스의 입력 값에는 기대한 결과를 제공하고 나머지 입력 값들에 대해서는 추정으로 처리하는 오라클. |
Consistent 일관성 검사 오라클 |
애플리케이션의 변경이 있을 때 테스트 케이스 수행 전과 후의 결과 값이 동일한지 확인하는 오라클. |
※ 보안 및 암호화
개인키 암호화(대칭) | 블록 암호화 방식: DES, AES, ARIA, SEED 스트림 암호화 방식: LFSR, RC4 |
공개키 암호화(비대칭) | RSA |
암호화 알고리즘 | |
DES | 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘. 블록 크기 64비트, 키 길이 56비트, 16회 라운드 수행 |
AES | 2001년 미국 표준 기술 연구소(NIST)에서 발표한 대칭키 암호화 알고리즘. DES의 한계로 인해 발표. 블록 크기 128비트, 키 길이에 따라 128, 192, 256으로 분류 |
ARIA | 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘. 블록 크기 128비트, 키 길이에 따라 128, 192, 256으로 분류 |
SEED | 1999년 한국인터넷진흥원(KISA)에서 개발한 블록 암호화 알고리즘. 블록 크기 128비트, 키 길이에 따라 128, 256으로 분류 |
RSA | 1978년 MIT의 라이베스트, 사미르, 애들먼에 의해 제안된 공개키 암호화 알고리즘. 큰 숫자를 소인수분해하기 어렵다는 것에 기반하여 제작. 키 = 메시지를 열고 잠그는 상수(Constant) |
해시 : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것 |
|
SHA 시리즈 | 1993년 미국 국가안보국(NSA)이 처음 설계. |
MD5 | 1991년 MD4를 대체하기 위해 고안한 암호화 해시 함수 블록 크기 512비트, 키 길이 128비트 |
N-NASH | 1989년 일본 전신전화주식회사(NTT)에서 발표한 암호화 해시 함수 블록 크기와 키 길이 모두 128비트 |
SHEFRU | 1990년 R.C.Merkle가 발표한 해시 함수. 32비트 프로세서에서 구현을 용이하게 할 목적. 블록 크기 512비트, 키 길이에 따라 128과 256으로 분류 |
*솔트(Salt): 암호화를 수행하기 앞서 원문에 무작위 값을 덧붙이는 과정
※ 스케줄링 알고리즘
FCFS First Come First Service |
준비상태 큐에 도착한 순서에 따라 CPU 할당 |
SJF Shortest Job First |
실행 시간이 짧은 프로세스부터 할당 |
HRN Highest Response-ratio Next |
(대기시간+서비스 시간)/서비스 시간 |
RR Round Robin |
시분할 시스템을 위해 고안 할당 시간 동안 실행이 완료지 않으면 다음으로 넘기고 가장 뒤에 배치 |
SRT Shortest Remaining Time |
현재 실행 중인 프로세스의 남은 시간과 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에 할당 |
※ OSI 7계층
계층 | 이름 | 설명 | PDU |
1 | 물리 계층 Physical Layer |
기계적, 전기적, 기능적 절차적 특성에 대한 규칙 정의 | Bit |
2 | 데이터링크 계층 Datalink Layer |
신뢰성 있고 효율적인 정보 전송을 위한 시스템 연결 설정과 유지 및 종료 - 흐름 제어 기능 - 프레임 동기화 기능 - 오류 제어 기능 |
Frame |
3 | 네트워크 계층 Network Layer |
네트워크 연결 관리 기능, 데이터의 교환 및 중계 기능 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송 IP(Internet Protocol), IPSec, ICMP, IGMP, ARP, RARP |
Packet |
4 | 전송 계층 Transport Layer |
종단 시스템(End-to-End) 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능 주소 설정, 다중화(분할 및 재조립), 오류 제어, 흐름 제어 TCP(Transmission Control Product), UDP, ECN, SCTP, DCCP |
Segment |
5 | 세션 계층 Session Layer |
송·수신 측 간의 관련성 유지, 대화 제어, 데이터 교환 관리 | Data |
6 | 표현 계층 Presentation Layer |
응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 포맷 변환, 문맥 관리 |
|
7 | 응용 계층 Application Layer |
사용자가 OSI 환경에 접근할 수 있도록 서비스 제공 - FTP(File Transfer Protocol) - SMTP(Simple Mail Transfer Protocol) - TELNET HTTP, FTP, IRC, SSH, DNS |
※ 프로토콜
: 컴퓨터가 메시지를 전달하고 메시지가 제대로 도착했는지 확인하며 도착하지 않은 경우 재전송하는 일련의 방법
기본 요소: 구문(Syntax), 의미(Semantics), 시간(Timing)
※ Routing Protocol (경로 제어 프로토콜)
IGP | 자율 시스템 내부 라우팅에 사용됨. -RIP(Routing Information Protocol): 거리 벡터 라우팅 프로토콜. Bellan-Ford 알고리즘 사용. 소규모 동종 자율 시스템에서 효율적임. 최대 홉(Hop) 수를 15로 제한함. -OSPF(Open Shortest Path First Protocol): 다익스트라 알고리즘 사용. 대규모 네트워크에서 사용. 링크 상태를 실시간으로 반영하여 최단 경로로 라우팅 지원. |
EGP | 자율 시스템 간의 라우팅에 사용됨. |
BGP | EGP의 단점 보완. 처음 연결될 때는 전체 라우팅 테이블을 교환하고 이후에는 변화된 정보만 교환. |
※ 형상 관리 도구
: CVS, Git, SVN(Subversion)
※ 서브넷 계산
참고 영상: https://youtu.be/Z9YbIdIH84w?si=aHQs-juvpW1eGe66
※ Unix/Linux 파일 접근 권한
8진수를 나타내는 법: chmod 777 파일명
chmod | User 사용자 |
Group 그룹 |
Other 기타 |
파일명 | ||||||
R | W | X | R | W | X | R | W | X | ||
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
R = Read 읽기 4
W = Write 쓰기 2
X = eXecute 실행 1
각 권한을 부여하려면 숫자를 더하면 됨.
읽기, 쓰기 권한을 줌: 4+2 = 6
실행 권한만 줌: 1
chmod 761 file.txt : user에게 읽기, 쓰기, 실행 권한을, Group에게 읽기, 쓰기 권한을, Other에게 쓰기 권한을 줌.
*기호를 사용할 경우
u(user), g(group), o(other), a(all)
+추가, -제거, =지정
r(읽기), w(쓰기), x(실행)
chmod go-w file.txt : group과 other에 file.txt 쓰기 권한 제거
chmod g+w, o-x file.txt : group에게 file.txt 쓰기 권한 부여, other에게 file.txt 실행 권한 삭제
chmod a=rw file.txt : 모든 사용자에게 file.txt 읽기, 쓰기 권한 부여
'자격증 ⁺₊' 카테고리의 다른 글
경영정보시각화능력 실기 모의문제 파워BI A형 문제1 풀이 (1) | 2024.09.22 |
---|---|
정보처리기사 1트 합격 후기 - 무료 독학 방법, 핵심요약 PDF 다운로드(2024년 2회 실기/필기) (17) | 2024.09.10 |
정보처리기사 2024년 2회 실기 시험 후기 (0) | 2024.07.28 |
정보처리기사 필기 5과목 정리 - 정보시스템 구축 관리 (0) | 2024.05.22 |
정보처리기사 필기 4과목 정리 - 프로그래밍 언어 활용 (0) | 2024.05.22 |
댓글