반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 제이쿼리 패스워드 변경
  • 객체 안의 함수
  • 자바db연동
  • ScrollEffectJs
  • 초보개발
  • js
  • js 비밀번호
  • 중복 제거 로또
  • 스크롤js
  • 제이쿼리 버튼클릭시 색 변경
  • 가위바위보js
  • js 로또 번호
  • 제이쿼리 비밀번호
  • 자바
  • js 패스워드 변경
  • 쉬프트 연산
  • 청춘고양이
  • spring 기본설정
  • 제이쿼리
  • css

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이

배움을 기록하는 곳

정보처리기사

운영체제 / 프로토콜 / 네트워크

2023. 9. 10. 13:23
반응형

운영체제 : 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
 운영체제의 종류 : 윈도우, 유닉스, 리눅스, 맥, 안드로이드 

  • UNIX : 시분할 시스템을 위해서 설계된 대화식 운영체제, 소스가 공개된 개방형 시스템 C언어로 작성되어 이식성이 높으며 장치, 프로세스 간의 호완성이 높다. 다중 사용자, 다중 작업을 지원한다. 트리 구조의 파일 시스템을 갖는다. 

UNIX 시스템 구성 요소 

  • 커널 : 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당. UNIX의 가장 핵심적인 부분. 프로세스의 관리, 기억장치 관리, 파일관리 등 여러가지 기능을 수행
  • 쉘 : 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기. 시스템과 사용자 간의 인터페이스를 담당함
  • 유틸리티 프로그램 : 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용함. DOS에서 외부 명령어에 해당 

Android : 구글사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제. 자바와 코틀린으로 애플리케이션을 작성
페이지 교체 알고리즘 

  • OPT(최적 교체) : 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법, 페이지 부재가 가정 적게 일어나는 효율적인 알고리즘
  • FIFO : 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
  • LRU : 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
  • LFU : 사용빈도가 가장 적은 페이지를 교체하는 기법
  • NUR : LRU 비슷한 알고리즘. 최근에 사용하지 않은 페이지를 교체하는 기법. 최근의 사용 여부를 확인하기 위해서 각 페이지마다 두개의 비트, 즉 참조비트와 변형비트가 사용됨
  • SCR : FIFO 기법의 단점을 보완하는데 사용됨. 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법

가상 기억장치 기타 관리 사항
locality(국부성, 지역성, 구역성, 국소성) : 프로세스가 실행되는 동안 주기억 장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론. 스레싱을 방지하기 위한 워킹 셋 이론의 기반. 가상기억장치 관리와 캐시 메모리 시스템의 이론적인 근거. 
구역성의 종류 

  • 시간 구역성 : 프로세스가 실행되면서 하나의 페이지를 일정 시간동안 집중적으로 액세스하는 현상
  • 공간 구역성 : 프로세스 실행시 일정 위치의 페이지를 집중적으로 액세스하는 현상

* 스래싱 : 프로세스 처리 시간보다 페이지 교체 시간이 더 긴 현상 
* 교착상태 : 두개이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있는 상태 
* 기아현상 : 우선순위가 밀려서 계속해서 CPU를 할당받지 못하는 상태
프로세스의 개요
프로세스의 상태전이

  • 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
  • 접수 : 제출된 작업이 스풀 공간인 디스크의 할당위치에 저장되어 있는 상태
  • 준비 : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
  • 실행 : 준비상태 큐에 있는 프로세스가 프로세스를 할당받아 실행되는 상태
  • 대기 : 프로세스에 입출력처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될때까지 대기하고 있는 상태
  • 종료 : 프로세스의 실행이 끝나고 프로세스가 할당이 해제된 상태

스레드 : 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위 또는 프로세스 내에서의 작업단위로 사용. 스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로서 프로세스 역할을 담당한다.
주요 스케쥴링 알고리즘

  • SJF(shortest job first, 단기 작업 우선) : 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법. 가장 적은 평균 대기시간을 제공하는 최적 알고리즘
  • HRN : 대기시간과 서비스(실행)시간을 이용하는 기법. 우선수위를 계산하여 그 숫자가 가장 높은것부터 낮은 수로 우선순위가 부여 
    • 우선순위 계산식 = (대기시간+실행시간)/실행시간
  • RR(round robin) : 각 프로세스를 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주는 기법. 시분할 시스템을 위해 고안된 방식, 할당되는 시간의 크기가 작으면 작은 프로세스들에게 유리
  • SRT(Shortest remaining time) : 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행시간을 비교하여 가장 짧은 실행시간을 요구하는 프로세스에게 CPU를 할당하는 기법. 시분할 시스템에 유용, 준비상태 큐에 있는 각 프로세스의 실행시간을 추적하여 보유하고 있어야 하므로 오버헤드가 증가한다. 

운영체제의 기본 명령어 
UNIX 기본 명령어 

  • cat : 파일 내용을 화면에 표시함 
  • cd : 디렉토리의 위치를 변경
  • chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함, 사용자의 권한을 부여
  • chown : 파일의 소유자와 그룹을 변경
  • cp : 파일 복사
  • rm : 파일 삭제
  • find : 파일을 찾음
  • fsck : 파일 시스템을 검사하고 보수
  • kill : PID(프로세스 고유 번호)를 이용하여 프로세스를 종료
  • fork : 새로운 프로세스를 생성
  • killall : 프로세스의 이름을 이용하여 프로세스를 종료
  • ls : 현재 디렉토리의 파일 목록을 표시함
  • mkdir : 디렉토리를 생성
  • rmdir : 디렉토리를 삭제
  • mv : 파일을 이동
  • ps : 현재 실행중인 프로세스를 표시
  • pwd : 현재 작업중인 디렉토리 경로를 화면에 표시
  • top : 시스템의 프로세스와 메모리 사용 현황을 표시 
  • who : 현재 시스템에 접속해 있는 사용자를 표시

인터넷
IP주소 : 인터넷에 연결된 모든 컴퓨터 지원을 구분하기 위한 고유한 주소
IPv4 : 숫자로 8비트씩 4부분, 총 32비트로 구성

  • A class : 국가나 대형 통신망에 사용 (0~127로 시작)
  • B class : 중대형 통신망에 사용(128~191로 시작)
  • C class : 소규모 통신망에 사용(192~223으로 시작)
  • D class : 멀티캐스트용으로 사용 (224~239로 시작)
  • E class : 실험적인 주소이며 공용되지 않음.

IPv6 : 현재 사용하고 있는 IP주소체계인 IPv4의 주소 부족문제를 해결하기 위해 개발. 16비트씩 8부분, 128비트의 긴 주소를 사용. 각 부분을 16진수로 표현을 하며 콜론(:)으로 구분한다. IPv4에 비해 자료 전송 속도가 빠르고, IPv4와 호환성이 뛰어나다. 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결 가능. 주소의 확장성, 융통성, 연동성이 뛰어나다. 실시간 흐름제어로 향상된 멀티미디어 기능을 지원. 패킷크기를 확장할 수 있으므로 패킷 크기에 제한이 없다.
IPv6의 주소체계

  • 유니캐스트 : 1대1통신에 사용(단일 송신자와 단일 수신자 간의 통신)
  • 멀티캐스트 : 1대다 통신에 사용(단일 송신자와 다중 수신자 간의 통신)
  • 애니캐스트 : 1대1 통신에 사용(단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신

서브네팅 : 할당된 네트워크 주소를 다시 여러개의 작은 네트워크로 나누어 사용하는 것을 말한다
서브넷 마스크 : 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트. 이를 변경하여 네트워크 주소를 여러개로 분할하여 사용
OSI 참조 모델 : 다른 시스템 간의 원할한 통신을 위해 ISO에서 제안한 통신 규약이다.

  • 물리계층 : 전송에 필요한 두 장치간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의. 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
  • 데이터링크계층 : 두개의 인접한 개방 시스템들 간의 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당. 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름제어기능을 함. 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능. 오류의 검출과 회복을 위한 오류 제어 기능 (인접시스템 간의 데이터 전송, 전송 오류 제어)
  • 네트워크 계층 : 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 함. 경로설정, 데이터 교환 및 중계 등을 수행(단말기간 전송을 위한 최적화된 경로 제공)
  • 전송계층 : 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종간 시스템간에 투명한 데이터 전송을 가능하게 함. 주소설정, 다분화, 오류제어, 흐름제어를 수행
  • 세션계층 : 송수신 간의 관련성을 유지하고 대화 제어를 담당(송수신 간의 논리적인 연결)
  • 표현계층 : 데이터 형식 설정, 부호교환, 암/복호화, 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층
  • 응용계층 : 사용자가 OSI 환경에 접글할 수 있도록 서비스를 제공

프로토콜  : 서로 다른 기기들 간의 데이터 교환을 원할하게 수행할 수 있도록 표준화시켜 놓은 통신 규약 
프로토콜의 기본 요소 

  • 구문 : 전송하고자 하는 데이터의 형식, 부호화, 신호레벨 등을 규정 
  • 의미 : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
  • 순서 : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

프로토콜의 기능 : 단편화와 재결합, 캡슐화, 흐름제어, 오류제어, 동기화, 순서제어, 경로제어 등
응용계층의 주요 프로토콜 

  • FTP : 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 있도록 하는 원격 파일 전송 프로토콜
  • SMTP : 전자 우편을 교환하는 서비스 
  • TELNET : 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스. 프로그램을 실행하는 등 시스템 관리 작업을 할 수 있는 가상의 터미널 기능을 수행함
  • DNS (domain name system) : 도메인 네임을 IP주소로 매핑하는 시스템 
  • HTTP : 월드 와이드 웹(www)에서 HTML 문서를 송수신하기 위한 표준 프로토콜 
  • SNMP : TCP/IP의 네트워크 관리 프로토콜로 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는데 사용되는 표준 통신 규약 

전송계층의 주요프로토콜

  • TCP : 양방향 연결형 서비스 제공, 가상 회선 연결 형태의 서비스를 제공, 스트림 위주의 전달을 하며 신뢰성 있는 경로를 확립하고 메시지 전송을 감독. 순서제어, 오류제어, 흐름제어 기능을 함. 패킷의 분실, 손상, 지연이나 순서가 틀린 것 등이 발생할 때 투명성이 보장되는 통신을 제공
  • UDP : 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공. 오버헤드가 적고, 흐름제어나 순서제어가 없어 전송 속도가 빠름. 고속의 안전성있는 전송 매체를 사용하여 빠른 속도를 필요로 하는 경우, 동시에 여러 사용자에게 데이터를 전달할 경우, 정기적으로 반복해서 전송할 경우에 사용. 신뢰성보다는 속도가 중요시되는 네트워크에서 사용
  • RTCP : RTP 패킷의 전송 품질을 제어하기 위한 제어 프로토콜. 하위프르토콜을 데이터 패킷과 제어 패킷의 다중화를 제공. 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만을 제공 

인터넷계층의 주요 프로토콜

  • IP : 전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능을 함. 비연결형인 데이터 그램 방식을 사용하는 것으로 신뢰성이 보장되지 않음 
  • ICMP(인터넷 제어 메시지 프로토콜) : IP와 조합하여 통신중에 발생하는 오류의 처리와 전송경로 변경 등을 위한 제어 메시지를 관리하는 역할을 함
  • IGMP(인터넷 그룹 관리 프로토콜) : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티 캐스트 그룹 유지를 위해 사용
  • ARP : 호스트의 IP주소를 물리적주소(mac주소)로 바꿈
  • RARP : 물리적 주소를 IP주소로 변환하는 기능 

네트워크 관련 신기술

  • IoT : 정보통신 기술을 기반으로 실세계와 가상 세계의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
  • M2M : 무선 통신을 이용한 기계와 기계사이의 통신
  • 모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유로이 네트워크에서 접속하여 업무를 처리할 수 있는 환경
  • 클라우드 컴퓨팅 : 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경
  • 그리드 컴퓨팅 : 지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 활용하는 기술
  • 모바일 클라우드 컴퓨팅 : 소비자와 소비자의 파트너가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 인프라를 구성하여 여러가지 정보와 자원을 공유하는 ICP 기술 
  • 인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술 
  • 와이선(WI-SUN) : 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리 통신 기술 
  • NFC(근거리 무선 통신) : 아주 가까운 거리에서 양방향 통신을 지원하는 RFID 기술의 일종
  • 메시 네트워크 : 대규모 디바이스의 네트워크 생성에 최적화
  • NDN : 콘테츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
  • NGN(차세대 통신망) : 유선망 뿐만 아니라 이동 사용자를 목표로 하며, 이동통신에서 제공하는 완전한 이동성 제공을 목표로 개발되고 있음
  • SDN : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
  • UWB(초 광대역) : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선기술
  • 피코넷 : 여러개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술 
  • GIS(지리정보시스템) : 지리적인 자료를 수집 저장 분석 출력할 수 있는 컴퓨터 응용 시스템
  • 애드 혹 네트워크 : 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트 만을 이용하여 구성한 네트워크 
  • 소프트웨어 정의 데이터 센터(SDDC) : 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터를 의미
  • 개방형 링크드 데이터(LOD) : 링크드데이터와 오픈데이터의 합성어, 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터를 의미 
  • SSO : 한번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 해주는 시스템. 개인정보를 가 사이트마다 일일이 기록해야하던 불편함을 해소할 수 있음

네트워크 구축
네트워크의 설치 형태

  • 성형(중앙집중형) : 중앙에 중앙 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식 네트워크 구성 형태
  • 링형 : 컴퓨터와 단말장치들을 서로 이웃하는 것 끼리 연결시킨 포인트 투 포인트 방식의 구성형태. 단말장치의 추가/제거 및 기밀 보호 어렵
  • 버스형 : 한개의 통신 회선에 여러대의 단말장치가 연결되어 있는 형태 
  • 계층형 : 분산처리 시스템을 구성하는 방식. 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결 시키고 이웃하는 단말장치는 일정 지역 내에 설치된 중앙 단말 장치로부터 다시 연결시키는 형태
  • 망형 : 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태, 노드의 연결성이 높다. 많은 단말 장치로부터 많은 양의 통신을 필요로 하는 겨웅에 유리. 모든 노드를 망형으로 연결하려면 노드의 수가 n개일때, n(n-1)/2개의 회선이 필요하고 노드당 n-1개의 포트가 필요

NAT(network address translation, 네트워크 주소 변환) : 한개의 정식 IP주소에 대량의 가상 사설 IP주소를 할당 및 연결하는 기능. 한개의 IP주소를 사용해서 외부에서 접속할 수 있는 노드는 어느 시점에서 한개로 제한되는 문제가 있지만 IP 마스커레이드를 이용하여 해결할 수 있다. 

반응형
저작자표시 (새창열림)

'정보처리기사' 카테고리의 다른 글

프로그래밍 언어 표현  (0) 2023.09.12
소프트웨어 개발 보안  (0) 2023.09.11
애플리케이션 테스트  (0) 2023.09.03
미들웨어 / 인터페이스 / 화면설계 / 소프트웨어 품질  (0) 2023.09.02
모듈 / IPC / 디자인 패턴  (0) 2023.09.02
    '정보처리기사' 카테고리의 다른 글
    • 프로그래밍 언어 표현
    • 소프트웨어 개발 보안
    • 애플리케이션 테스트
    • 미들웨어 / 인터페이스 / 화면설계 / 소프트웨어 품질
    청춘고양이
    청춘고양이
    신입개발자

    티스토리툴바