본문 바로가기
Certificate/정보처리기사

[정보처리기사] 2021년 2회차 (4)프로그래밍 언어 활용

by HJ0216 2023. 7. 12.

정보처리기사

LAN 802.X

  • 802.3: CSMA/CD, 유선랜 충돌 감지
  • 802.11: CSMA/CA, 무선랜 충돌 회피
  • 802.4: 토큰 버스
  • 802.5: 토큰 링
  • 802.15: 블루투스

 

응집도

: 모듈 내부의 기능적인 집중 정도

  1. 우연적(Coincidental): 모듈 내부의 각 구성요소들이 연관이 없을 경우
  2. 논리적(Logical): 유사한 성격을 갖는 요소들이 한 모듈에서 처리
  3. 시간적(Temporal): 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리
  4. 절차적(Procedural): 모듈 안의 구성요소들이 그 기능을 순차적으로 수행
  5. 통신적(Communicational): 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우
  6. 순차적(Sequential): 모듈 내에서 한 활동으로 부터 나온 출력값을 다른 활동이 사용할 경우
  7. 기능적(Functional): 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우

결합도

: 모듈과 모듈간의 상호 의존 정도

  1. 자료(Data): 모듈간의 인터페이스 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우
  2. 스탬프(Stamp): 모듈간의 인터페이스로 배열이나 오브젝트, 스트럭쳐등이 전달되는 경우
  3. 제어: 처리 대상인 값뿐만 아니라 처리 방법에 관한 제어 요소도 전달
  4. 외부(External): 어떤 모듈에서 반환한 값을 다른 모듈에서 참조해서 사용하는 경우
  5. 공통(Common): 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우
  6. 내용(Content): 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우

 

C언어 비트연산자

연산자 기능
& 비트단위로 AND 연산
비트단위로 OR 연산
^ 비트단위로 XOR 연산
~ 피연자의 모든 비트를 반전
<< 피연산자의 비트 열을 왼쪽으로 이동
>> 피연산자의 비트 열을 오른쪽으로 이동

 

교착상태 발생 조건

  1. 상호배제(Mutual Exclusion): 한 프로세스가 사용중일 경우, 다른 프로세스 사용 불가
  2. 점유 및 대기(Hold and Wait): 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 대기
  3. 비선점(Non-Preemption): 다른 프로세스가 점유중인 자원을 강제로 획득 불가
  4. 환형대기(Circulation Wait): 각 프로세스가 순차적으로 다음 프로세스가 요구하는 자원을 갖고있는 상태

 

서브넷 마스크 구하기

203.241.132.82/27 => 11111111 . 11111111 . 11111111 . 1110 0000 => 255.255.255.224

 

가상기억장치 구현 시, 성능과 관련된 요소

  1. 페이지 크기
  2. 지역성: 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조
  3. 워킹 셋: 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
    • 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상을 줄일 수 있음
  4. 페이지 부재 빈도: 페이지 부재가 일어나는 횟수
  5. 프리페이징: 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재
  6. 스레싱(Thrashing): 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

 

Paging

: 프로세스의 주소 공간을 고정된 사이즈의 페이지 단위로 나누어 물리적 메모리에 불연속적으로 할당하는 방식 → 마지막 페이지에 내부 단편화가 발생

Segmentation

: 프로세스를 서로 크기가 다른 논리적인 블록 단위인 세그먼트(Segment)로 분할하여 메모리에 할당 → 프로세스가 필요한 메모리 공간만큼 메모리를 할당해주기 때문에 내부 단편화 문제는 발생하지 않지만, 중간에 메모리를 해제하면 생기는 외부 단편화 문제가 발생

 

대표 라이브러리

C언어

  1. stdio.h: 데이터 입출력
  2. stdlib.h: 자료형 변환, 메모리 할당
  3. string.h: 문자열
    • strcpy(s1, s2): s2를 s1으로 복사
    • strcat(s1, s2): s1에 s2를 연결

 

OSI 7 Layer Model

OSI_7_layer

  1. 물리 계층(Physical Layer)
    • 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
    • 단위: 비트
    • 주요 장비: 허브, 리피터 등
  2. 데이터 링크 계층(Data Link Layer)
    • 인접 노드 간 프레임 전송
    • 단위: 프레임
    • 주요 장비: 스위치, 브릿지 등
  3. 네트워크 계층(Network Layer)
    • 단말기 간 데이터 전송을 위한 최적화된 경로 제공
    • 단위: 패킷
    • 주요 장비: 라우터 등
    • 프로토콜
      • IP: 데이터 전달
      • ICMP: IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
      • ARP: 논리 주소인 IP 주소 ▶ 실제적인 물리 주소인 MAC 주소로 변환
      • RARP: 실제적인 물리 주소인 MAC 주소 ▶ 논리 주소인 IP 주소로 변환
  4. 전송 계층(Transport Layer)
    • 송수신 프로세스(종단) 간의 연결. 신뢰성 있는 통신 보장
    • 단위: 세그먼트
    • 프로토콜
      • TCP
        • telnet(23): 원격 컴퓨터 간
        • FTP(20-데이터, 21-제어): 파일 전송
        • HTTP(80): 웹 서비스
        • SMTP(25): 메일 송신
        • POP3(110): 메일 수신
      • UDP
        • DHCP: IP 자동 할당
        • SNMP: 네트워크 관리
        • DNS(53): 도메인 ▶ IP 주소로 변환
  5. 세션 계층(Session Layer)
    • 송수신 간의 논리적 연결
    • 단위: 데이터
  6. 표현 계층(Presentation Layer)
    • 데이터 형식 설정, 암/복호화
    • 단위: 데이터
  7. 응용 계층(Application Layer)
    • 일반적인 응용 서비스를 수행
    • 단위: 데이터

 

 

 

참고 자료

 

흥달쌤

흥달쌤과 함께하는 IT 채널입니다. 정보처리기사 자격증 관련된 강의 및 실무 노하우, 프로그래밍 언어(JAVA, C언어, Python) 특강 등이 진행됩니다. 앞으로 진행 예정인 동영상은 IT 관련된 이야기

www.youtube.com

 

4. C 비트연산자(연산자 &, |, ^, ~, <<, >>, and, or, xor, 비트 반전, 비트 이동)

C 언어는 비트끼리 연산을 할 수 있는 연산자가 있습니다. 그 종류는 다음과 같습니다. 연산자 연산자의 기능 & 비트단위로 AND 연산을 한다. | 비트단위로 OR 연산을 한다. ^ 비트단위로 XOR 연산을

gksid102.tistory.com

 

가상기억장치 구현 시 시스템 성능에 영향을 미치는 요소

가상기억장치를 구현할 때 페이지 크기, Locality, 워킹 셋, 페이지 부재 빈도, 프리페이징 등 다양한 요소들이 시스템 성능에 영향을 미친다. 각각에 대해서 간단하게 살펴보도록 하자. ​ 첫 번째

sorjfkrh5078.tistory.com

 

[OS] 페이징(Paging)과 세그멘테이션(Segmentation)

🚀 어떠한 프로그램을 실행할 때, 컴퓨터에서는 프로그램들을 메모리 공간에 연속적으로 할당하게 됩니다. 만약 여러 프로그램들이 메모리에 할당되고 해제되는 것이 반복되다 보면 메모리 공

cocoon1787.tistory.com