C, Python, Java 코드 문제는 실기 공부하면서 직접 코드 작성도 해보는 게 기억에 잘 남습니다.
if문 비교
C | Python |
if else if else |
if elif else |
C언어 표준 라이브러리
stdio.h | 표준 입출력 |
math.h | 수학 |
string.h | 문자열 처리 |
stdlib.h | 자료형 변환, 난수, 메모리 할당(malloc) |
time.h | 시간 |
문자열 처리 함수
strlen(): string length 문자열 길이
strcpy(): string copy 문자열 복사
strcat(): string concatenate 문자열 연결
strcmp(): string compare 문자열 비교
strrev(): string reverse 문자열 뒤집기
UNIX
대부분 C언어로 작성, 이식성 우수
여러 작업 병행 처리 가능
두 사람 이상의 사용자가 동시에 시스템 사용 가능
UNIX 시스템 구성
커널(Kernel) | 쉘(Shell) | Utility Program |
부팅될 때 주기억장치에 적재된 후 상주하면서 실행. 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등. 하드웨어 보호, 프로그램과 하드웨어 간의 인터페이스 역할. |
명령어 해석기, 시스템과 사용자 간의 인터페이스 역할, 명령어가 포함된 파일 형태로 존재, 파이프라인 기능 지원 | 응용 프로그램 처리 DOS에서의 외부 명령어에 해당 |
UNIX/LINUX 기본 명령어
*ch~ : 변경하는 명령어(change)
- cat: 파일 내용 표시
- chdir: 현재 사용할 디렉터리 위치 변경 (change directory)
- chmod: 파일의 보호 모드 설정(change mode)
- chown: 소유자 변경(change owner)
- cp: 파일 복사(copy)
- exec: 새로운 프로세스 수행
- find: 파일 찾기
- fork: 새로운 프로세스 생성
- fsck: 파일 시스템 검사 및 보수
- getpid: 자신의 프로세스 아이디를 얻음
- getppid: 부모 프로세스 아이디를 얻음
- ls: 현재 디렉터리의 파일 목록 확인(list)
- mount/unmount: 파일 시스템을 마운팅함/마운팅 해제함.
- rm: 파일 삭제(remove)
- wait: fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림
가상기억장치 구현 방법
Paging: 일정한 블록으로 나눔
Segmentation: 가변적 크기의 블록으로 나눔.
페이징(Paging) 기법 - 페이지 교체 알고리즘
OPT(OPTimal replacement) | 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체. 페이지 부채 횟수가 가장 적게 발생 |
FIFO(First In First Out) | 이해하기 쉽고 설계 간단함. |
LRU(Least Recently Uesed) | 최근에 가장 오랫동안 사용하지 않은 페이지를 교체. 각 페이지마다 Counter나 Stack을 둠. |
LFU(Least Frequently Used) | 사용 빈도가 가장 적은 페이지를 교체. |
페이지 결함(부재) 발생 횟수: 안에 원하는 페이지가 없으면 결함이 발생함.
(예) 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3일 때 FIFO 알고리즘을 사용할 경우
처음 상태: X X X (빈 프레임)
1 참조: 1 X X →1이 없었으므로 결함 발생
2 참조: 1 2 X →2가 없었으므로 결함 발생
1 참조: 1 2 X →1이 있으므로 넘어감
0 참조: 1 2 0 →0이 없었으므로 결함 발생
4 참조: 4 2 0 →4가 없었으므로 결함 발생, 1, 2, 0 중에 가장 처음 들어왔던 1 삭제
1 참조: 4 1 0 →1이 없었으므로 결함 발생, 4, 2, 0 중에 가장 처음 들어왔던 2 삭제
3 참조: 4 1 3 →3이 없었으므로 결함 발생, 4, 1, 0 중에 가장 처음 들어왔던 3 삭제
▶페이지 결함 발생 횟수: 6회, 프레임의 최종상태: 4 1 3
스케줄링 알고리즘
FCFS(First Come Fist Service) = FIFO(First In First Out) |
먼저 도착한 것을 먼저 처리 |
SJF(Shortest Job First) | 준비상태 큐의 프로세스 중 실행 시간이 가장 짧은 프로세스에게 먼저 CPU 할당 가장 적은 평균 대기 시간 |
HRN(Highest Response-ratio Next) | 서비스 실행 시간이 짧거나 대기 시간이 긴 프로세스일수록 우선순위가 높아짐. 우선순위 점수가 높은 것부터 우선순위 부여. *우선순위 = (대기 시간 + 서비스 시간) / 서비스 시간 |
IP 주소
8비트씩 4부분, 총 32비트로 구성
0 ~ 128 ~ 192 ~ 224 ~ 239
A B C D Class, 실험적 주소 E Class
IPv6
- 128비트 주소 사용 → IPv4보다 빠른 전송 속도
- 인증성, 기밀성, 데이터 무결성 지원
- 확장성, 융통성, 연동성이 뛰어남
- 패킷 크기 확장 가능. 제한X
- 패킷 헤더는 40byte로 고정되어 있음.(IPv4는 헤더가 가변적)
IPv4 | IPv6 |
32비트 주소 패킷 헤더 가변적 |
128비트 주소 패킷 헤더 40byte(320bit)로 고정 보안성 강화 |
유니캐스트, 멀티캐스트, 애니캐스트 사용 |
OSI 참조 모델
계층 | 이름 | 설명 | 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 |
*PDU(Protocol Data Unit): 프로토콜에서 사용하는 데이터 단위
스레싱과 스레드
- 스레싱(Thrashing): 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 스레드(Thread): 프로세스 내에서의 작업 단위. 시스템의 러 자원을 할당받아 실행하는 프로그램의 단위.
'자격증 ⁺₊' 카테고리의 다른 글
정보처리기사 2024년 2회 실기 시험 후기 (0) | 2024.07.28 |
---|---|
정보처리기사 필기 5과목 정리 - 정보시스템 구축 관리 (0) | 2024.05.22 |
정보처리기사 필기 3과목 정리 - 데이터베이스 구축 (1) | 2024.05.21 |
정보처리기사 필기 2과목 정리 - 소프트웨어 개발 (0) | 2024.05.21 |
정보처리기사 필기 1과목 정리 - 소프트웨어 설계 (0) | 2024.05.21 |
댓글