결합도(Coupling)
아래로 갈수록 약한 결합도
- 내용(Content) : 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도.
- 공통(Common) : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도.
- 외부(External) : 어떤 모듈이 선언한 데이터를 외부의 다른 모듈에서 참조할 때의 결합도.
- 제어(Control) : 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소를 전달하는 결합도.
- 스탬프(Stamp) : 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도.
- 자료(Data) : 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도.
응집도(Cohesion)
아래로 갈수록 약한 응집도
- 기능적(Functional) : 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도.
- 순차적(Sequential) : 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도.
- 교환적(Communication) : 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도.
- 절차적(Procedural) : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도.
- 시간적(Temporal) : 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도.
- 논리적(Logical) : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도.
- 우연적(Coincidental) : 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도.
스레싱(Thrashing)
프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상이다.
IP Address
- A Class : 0.0.0.0 ~ 127.255.255.255
- B Class : 128.0.0.0 ~ 191.255.255.255
- C class : 192.0.0.0 ~ 223.255.255.255
- D class : 224.0.0.0 ~ 239.255.255.255
- E Class : 240.0.0.0 ~ 255.255.255.255
개발 언어 선정 시 고려 기준
- 적정성
- 효율성
- 이식성
- 친밀성
- 범용성
연산자 우선순위
단항 > 산술 > 시프트 > 관계 > 비트 > 논리 > 조건 > 대입 > 순서
C언어에서 사용하는 기억 클래스
- Auto(자동)
- Register(레지스터)
- Static(정적)
- External(외부)
배치 프로그램의 필수 요소
- 대용량 데이터
- 자동화
- 견고성
- 안정성
- 성능
프레임워크의 특징
- 모듈화
- 재사용성
- 확장성
- 제어의 역 흐름
HRN(Hightest Response-ratio Next)
실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법이다. 우선순위 계산 공식을 이용하여 서비스(실행)시간이 짧은 프로세스나 대기 시간이 긴 프로세스에게 우선순위를 주어 CPU를 할당한다.
우선순위 계산 공식 : (대기시간 + 서비스 시간) / (서비스 시간)
메모리 관리 기법
- 최초 적합(First-Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫번째 분할 영역에 배치시키는 방법
- 최적 적합(Best-Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
- 최악 적합(Worst-Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법