[4과목 : 프로그래밍 언어 활용]
C언어
*C언어 문자열 처리 함수
strcpy(s1, s2) : s2를 s1로 복사
strcmp(s1, s2) : 문자열 비교
strcat(s1, s2) : 문자열 연결
strlen(s) : s의 길이를 구하기
strrev(s) : s를 거꾸로 변환
****함수명의 약어
str : string
len : length
cpy : copy
cmp : compare
rev : reverse
cat : concatenate 연결하다
*논리 연산자와 비트 연산자 구분 : 연산자로 구분!!!
- 논리 연산자 (&&, ||, !)
: 피연산자의 값 전체를 판단하여 참(1), 거짓(0)으로 간주
결과는 항상 0(거짓) 또는 1(참)
int a = 5, b = 3; // 5와 3은 0이 아니므로 참
int result = a && b; // 논리 AND: a와 b가 모두 참이므로 결과는 1
- 비트 연산자 (&, |, ~)
: 피연산자를 2진수로 변환한 뒤, 비트 단위로 계산.
결과는 숫자(2진수 값)으로 나옴
int a = 5, b = 3; // 5 = 101 (2진수), 3 = 011 (2진수)
int result = a & b; // 비트 AND: 101 & 011 = 001 (결과: 1)
*배열의 주소
int a[] = {14, 22, 30, 38};
a[0]의 주소값은 10
prinntf("%u", a);
>> 10
>> a는 배열의 시작 주소(첫번째 요소의 주소)를 나타낸다!
파이썬
*조건문
: if >> elif >> else
다른 언어에서는 else if가 일반적이지만 파이썬만은 가독성을 위해 간결한 elif 사용
파이썬에는 else if가 없음!
- 리스트(list) 타입 : 가변형
- 튜플(tuple) 타입 : 불변형
그밖의 개념들(프로토콜, 스케줄링, 운영체제)
* IP 프로토콜
: OSI 7계층 모델의 네트워크 계층
데이터를 패킷 단위로 분할하여 네트워크 상의 목적지로 전달
데이터 전송 과정에서 경로를 설정하고 올바른 목적지까지 전달되도록 안내
비연결형
신뢰성이 부족하고 순서 보장X. 하지만 Best Effort 최선은 다
헤더 체크섬(IP 헤더의 무결성 확인하기 위함) _데이터 체크섬은 제공X(데이터 무결성 확인은 TCP/UDP에서)
예) 인터넷 통신, 이메일 (IP가 데이터를 분할해서 전송)
**IP 프로토콜의 헤더 필드
- Header Length : 헤더의 길이. 32비트 워드 단위로 표시
- Total Length : IP 헤더를 포함한 전체 패킷의 길이. 최대 크기는 2^16 - 1 비트
- Time To Live(TTL) : 송신 호스트가 패킷을 전송하기 전, 네트워크에서 생존 가능한 시간
- Version Number : IP 프로토콜의 버전번호
* RIP 라우팅 프로토콜 (Routing Information Protocol)
: 거리 백터 기반의 라우팅 프로토콜
경로 선택 시, 홉 카운트(Hop Count)를 기준으로 최적 경로를 찾음
(홉 카운트란, 라우터를 거쳐가는 수. 홉 카운트가 적을수록 더 나은 경로)
Bellman-Ford 알고리즘을 기반으로 동작
소규모 네트워크 환경에 적합
라우팅 프로토콜을 IGP와 EGP로 분류했을 때, IGP에 해당함
(IGP : 자율 시스템 내에서 사용하는 라우팅 프로토콜)
(EGP : 자율 시스템 간의 외부 라우팅에 사용하는 프로토콜)
* UDP 프로토콜 (User Datagram Protocol)
: 네트워크 통신에서 빠르고 간단한 데이터 전송을 위해 사용 (예, 실시간 스트리밍)
비연결형 서비스 : 데이터그램 단위로 독립적인 전송 (TCP는 연결 설정 필요)
단순한 헤더 구조 >> TCP보다 오버헤드가 적고, 전송 속도 빠름
순서 보장X 및 오류 복구X
OSI 7계층 모델의 전송계층(Transport Layer)에 속함 (애플리케이션 간의 통신)
* TCP 프로토콜 (UDP와 비교)
: 연결형
신뢰성 있는 전송 (예, 이메일이나 파일 전송)
순서, 데이터 복구 보장
OSI 7계층 모델의 전송계층(Transport Layer)에 속함
* 프로세스 스케줄링
- FIFO : First In, First Out 선입선출
- RR : Round Robin 각 프로세스에 동일한 시간(Time Quantum)을 할당
- HRN : Highest Response Ratio Next 대기 시간이 긴 프로세스에 우선 순위를 부여 (SJF의 단점 보완)
- MQ : Multilevel Queue 여러 우선순위 큐로 나누어 관리
- SJF : Short Job First 실행 시간이 짧은 프로세스를 우선 처리 (실행 시간이 길면 무한 대기 문제)
* UNIX 운영체제
- 멀티 유저, 멀티 태스킹, 백그라운드 작업 가능
- 트리 구조 : 루트 디렉토리(/)에서 시작
- 이식성 : 장치 간의 호환성이 높음
* Myers의 응집도의 정도
(강함) 기능적 응집도 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적 응집도 (약함)
* 결합도(Coupling)
(높음) 내용(Content) 결합도 > 공통(Common) > 제어(Control) > 스탬프(Stamp) > 자료(Data) 결합도 (낮)
- 내용 결합도 : 다른 모듈의 내부 자료나 기능을 직접 참조
- 제어 결합도 : 한 모듈이 다른 모듈의 동작을 제어하기 위해 제어 신호를 전달
- 공통 결합도 : 두 모듈이 공통으로 사용되는 전역변수를 참조
- 스탬프 결합도 : 구조체나 클래스 같은 복합 자료 구조를 전달받아 참조
*모듈화
- 결합도 : 모듈과 모듈 사이의 상호의존 또는 연관 정도
- 응집도 : 모듈이 독립적인 기능으로 정의되어 있는 정도
>> 독립적인 모듈이 되려면 응집도가 강해야 한다
>> 결합도와 응집도 구분하기!
* LRU(Least Recently Used) 페이지 교체 알고리즘
: 가장 오랫동안 사용되지 않은 페이지를 교체하는 알고리즘.
최근에 참조된 페이지는 우선적으로 메모리에 유지됨
메모리에 요청한 페이지가 없는 경우(페이지 결함 Page Fault 발생 1회)
>> 새 페이지를 메모리에 적재하고, 최근에 사용되지 않은 페이지 제거
메모리 상태를 효율적으로 유지하지만, 시간 복잡도 높음
>> Q. 4개의 페이지를 수용할 수 있는 주기억장치. 초기에는 비어있음.
다음과 같은 페이지 참조가 발생 할 때, LRU 교체 알고리즘을 사용하면 몇 번의 페이지 결함이 발생? 5번
페이지 참조 순서 [ 1 2 3 1 2 4 1 2 5 ]
>> 1 참조 (페이지 결함. 메모리:1)
2 참조 (페이지 결함. 메모리:1,2)
3 참조 (페이지 결함. 메모리:1,2,3)
1 참조 (메모리에 있으므로, 페이지 결함 없음. 1 갱신됨. 메모리:1,2,3)
2 참조 (메모리에 있으므로, 페이지 결함 없음. 2 갱신됨. 메모리:1,2,3)
4 참조 (페이지 결함. 오랫동안 사용되지 않은 3 교체. 메모리:1,2,4)
1 참조 (메모리에 있으므로, 페이지 결함 없음. 1 갱신됨. 메모리:1,2,4)
2 참조 (메모리에 있으므로, 페이지 결함 없음. 2 갱신됨. 메모리:1,2,4)
5 참조 (페이지 결함. 오랫동안 사용되지 않은 4 교체. 메모리:1,2,5)
* 스레드(Thread) : 프로세스 내에서 실행되는 가장 작은 작업 단위
; 빠른 작업 전환, 병렬 처리 가능, 효율적 자원 관리
- 사용자 수준 스레드
: 애플리케이션에서 관리
스레드 전환이 빠르고 오버헤드가 적음
하나의 스레드가 블록되면 전체 프로세스가 멈출 수 있음
- 커널 수준 스레드
: 운영체제 커널이 직접 관리.
하나의 스레드가 블록되어도 다른 스레드는 계속 실행 가능
전환 시, 오버헤드가 큼
*아직도 논리연산자 묻는 문제인지 비트연산자 묻는 문제인지 헷갈리는 중. 연산자 보고 구별하기!
*모듈의 응집도와 결합도 개념 분간하기
xxoxxxoxxo
ooooxxooxx
>> 9/20
45점
'👩🏻💻TIL (Today I Learn) > 정처기' 카테고리의 다른 글
정처기 22년 3월 5일 기출 오답정리_01 (1) | 2025.02.03 |
---|---|
정처기 22년 4월 24일 기출 오답정리_05 (0) | 2025.01.24 |
정처기 22년 4월 24일 기출 오답정리_03 (1) | 2025.01.22 |
정처기 22년 4월 24일 기출 오답정리_02 (0) | 2025.01.21 |
정처기 22년 4월 24일 기출 오답정리_01 (0) | 2025.01.20 |