운영체제

운영체제 = 커널 + 쉘

  • 쉘 : 사용자와 운영체제 사이의 인터페이스, 사용자 명령을 해석해서 커널에 전달함
  • 커널 : 소프트웨어와 하드웨어 사이의 인터페이스

종류 : 윈도즈, 유닉스, 리눅스, 맥, 안드로이드

윈도즈 특징

GUI 제공, 선점형 멀티태스킹 방식 제공 자동감지 기능 제공(Plug and Play) OLE(Object Linking&Emdedding, 앱사이 데이터공유)

유닉스 특징

대화식, 다중 작업 기능, 다중 사용자 기능 높은 이식성과 계층적 트리 구조 파일 시스템 제공

리눅스/유닉스 기본 명령어

chmod : 특정 파일 또는 디렉토리의 퍼미션 수정 명령어 기호 대상 : u, g, o, a 연산자 : 추가+,제거 -, 지정= 접근권한 : r, w, x 실행

메모리 관리 기법

반입 기법 : 메모리로 적재 시기 결정 배치 기법 : 메모리로 적재 위치 결정 할당 기법 : 메모리로 적재 방법 결정 교체 기법 : 메모리 교체 대상 결정

메모리 배치 기법

최초 적합(First-fit) : 가용 공간 중 첫 번째 분할에 할당 최적 적합(Best-fit) : 가장 크기가 비슷한 공간에 할당 최악 적합(Worst-fit) : 가장 큰 공간에 할당 프로세스 상태 전이(생준실대완)

프로세스 스케줄링

선점형 : 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식

라운드 로빈(Round Robin) : 같은 크기의 CPU 할당 SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨 다단계 큐(Multi Level Queue) : 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 다단계 피드백 큐(Multi Level Feedback Queue): 큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드 로빈 스케줄링 기법 혼합 비선점형 : 한 프로세스가 CPU를 할당 받으면, 작업 종료후 다시 반환되기까지 다른 프로세스가 점유 불가능한 방식

우선순위(Priority): 프로세스별 우선순위에 따라 CPU할당 기한부(Deadline) : 작업들이 명시된 기한 내에 완료되도록 계획 FCFS(=FIFO) : 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당 SJF(Short Job First) : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유, 기아 현상 발생 HRN(Highest Response Ratio Next) : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아현상 최소화 기법 우선순위 = (대기시간+ 서비스시간) / 서비스시간 반환시간 = 종료시간 - 도착시간

대기시간 = 반환시간 - 서비스 시간

가상화(Virtualization)

물리적인 리소스들을 사용자에게 하나로 또는 여러 개로 보이게 하는 기술 이를 통해 서버의 가동률을 60~70% 이상으로 올릴 수 있다.

클라우드 컴퓨팅 서비스

인프라형 IaaS : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스 플랫폼형 PaaS : 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스 소프트웨어형 SaaS : 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스

프로토콜

서로 다른 시스템에 있는 두 개체간의 데이터 교환을 원활히 하기 위한 일련의 통신규약

프로토콜 3요소

구문 : 데이터 형식, 코딩, 신호 레벨등의 규정 의미 : 조정, 에러처리를 위한 규정 타이밍 : 속도 조절, 순서 관리 규정

OSI 7계층 (매우매우 중요)

계층 1 - 물리계층

0과 1의 비트 정보를 회선에 보내기 위한 신호 변환

  • 주요 프로토콜 : RS-232
  • 전송 단위 : 비트
  • 장비 : 허브, 리피터

계층 2 - 데이터 링크 계층

링크의 설정, 유지, 종료 담당 및 노드 간의 회선제어, 흐름제어, 오류제어

  • 주요 프로토콜 : HDLC(점대점 방식이나 다중방식 통신), PPP(두 통신 노드 간의 직접적인 연결)
  • 전송 단위 : 프레임
  • 장비 : 스위치, 브리지

계층 3 - 네트워크 계층

다양한 길이의 패킷을 네트워크들을 통해 전달하고 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공하는 계층

  • 주요 프로토콜 : IP(패킷이 올바른 대상에 접속하도록 주소지정), ARP(IP 주소 -> MAC 주소 변환), RARP(MAC 주소 -> IP 주소 변환), ICMP(네트워크 통신문제 진단 메시지), IGMP(화상회의, IPTV에서 활용)
  • 전송 단위 : 패킷
  • 장비 : 라우터, L3스위치

계층 4 - 전송 계층

상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않게 해주면서 종단간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층, 오류 제어 방식 사용

  • 주요 프로토콜 :

TCP(신뢰성, 연결후 안정적으로 순서보장된 데이터전송), UDP(비신뢰성, 연결없이 순서화되지 않은 데이터그램 전송, 속도가 빠른 장점)

  • 전송 단위 : 세그먼트
  • 장비 : L4스위치

계층 5 - 세션 계층

프로세스들의 논리적인 연결, 응용 프로그램 간의 대화를 유지하기 위한 구조 제공, 연결이 끊어지지 않도록 유지 시켜주는 역할 수행

계층 6 - 표현 계층 Presentation Layer

정보를 통신에 알맞은 형태로 만듦, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만듦. 부호교환, 암복호화

  • 주요 프로토콜 : JPEG, MPEG 등 주로 포멧 형태와 관련된 프로토콜

계층 7 - 응용 계층 Application Layer

  • 주요 프로토콜: HTTP(하이퍼텍스트 전송), FTP(파일 전송), SMTP(이메일 전송), IMAP(원격 서버로부터 이메일 가져옴), Telnet(네트워크 연결에 사용)

네트워크 계층 - 라우팅 프로토콜

  • 라우팅 프로토콜 : 데이터 전송 경로 중 최적의 경로를 설정해주는 상호 통신 규약
    • RIP : AS(자율 시스템)내에서 사용하는 거리벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜, 최초 라우팅 프로토콜, 벨만-포드 알고리즘, 15홉 제한, IGRP
    • OSPF : RIP의 단점 개선, 최단 경로를 찾는 프로토콜, 다익스트라 알고리즘, 홉 제한 없음, ELGRP
    • BGF : 자치 시스템(AS)간 경로 정보를 교환, 링크 상태 알고리즘 사용
  • 라우팅 알고리즘
    • 거리 벡터 알고리즘: 인접 라우터와 정보를 공유하여 목적지까지의 거라와 방향을 결정하는 알고리즘, 벨만포드 사용
    • 링크 상태 알고리즘: 링크상태 정보를 모든 라우터에 전달하여 최단경로 트리를 구성하는 알고리즘, 다익스트라 알고리즘사용

IPv4

32 비트(8비트씩 4개), 10진수 유니캐스트, 멀티캐스트, 브로드캐스트

IPv6

128 비트(16비트씩 8개), 16진수 유니캐스트, 멀티캐스트, 애니캐스트

4 → 6 전환 방법

듀얼 스택, 터널링, 주소변환

서킷 스위칭(Circuit Swiching)

네트워크 리소스를 특정 사용 층이 독점하도록 하는 통신 방식

애드 혹 네트워크(Ad-hoc Network)

노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크

패킷 스위칭(Packet Switching)

작은 블록의 패킷으로 데이터를 전송하며, 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식

  • X.25 : 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
  • 프레임 릴레이 : ISDN을 사용하기 위한 프로토콜, ITU-T에 의해 표준으로 작성됨
  • ATM(Asynchronous Transfer Mode) : 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법

제품 소프트웨어 패키징

개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정

릴리즈 노트

최종 사용자인 고객에게 개발과정에서 정리된 제품의 릴리즈 정보를 제공하는 문서

작성항목

  • 헤더 : 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜 등의 정보
  • 개요 : 제품 및 변경에 대한 간략한 전반적 개요
  • 목적 : 목적에 대한 개요, 버그 수정 및 새로운 기능 기술
  • 이슈 요약 : 버그의 간단한 설명 또는 릴리즈 추가 항목 요약
  • 재현 항목 : 버그 발견에 따른 재현 단계 기술
  • 수정, 개선 내용
  • 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술
  • 소프트웨어 지원 영향도
  • 노트 : 소프트웨어 및 하드웨어 설치 항목, 제품, 문서를 포함한 업그레이드 항목 메모
  • 면책 조항 : 회사 및 표준 제품과 관련된 메시지, 프리웨어 및 불법 복제 방지, 중복 등 참조에 대한 고지 사항
  • 연락 정보

디지털 저작권 관리(DRM; Digital Right Management) 구성요소

  • 콘텐츠 제공자(Contents Provider) : 콘텐츠를 제공하는 저작권자
  • 콘텐츠 분배자(Contents Distributor) : 쇼핑몰 등으로써 암호화된 콘텐츠 제공
  • 패키저(Packager) : 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 기능
  • 보안 컨테이너(Security Container) : 원본을 안전하게 유통하기 위한 전자적 보안 장치
  • DRM 컨트롤러(DRM Controller) : 배포된 컨텐츠의 이용 권한을 통제
  • 클리어링 하우스(Clearing House) : 소비자와 유통업자 사이에 발생하는 거래에 대해 디지털 저작권 라이선싱을 중개하고 라이선스 발급을 수행하는 장소

패키징 도구 구성

  • 암호화(Encryption)
    • 공개키 기반구조(PKI) : 전자 서명 인증서를 발급받아 비밀통신 가능하게
    • 전자서명 : 서명자가 해당 전자문서에 서명했다는 사실을 나타내기 위해 논리적으로 결합된 전자적 형태의 정보
  • 키 관리(Key Management)
    • 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술
  • 식별 기술(Identification)
    • DOI : 디지털 저작물의 저작권 보호를 위해 특정 번호 부여하는 바코드 시스템
    • URI : 인터넷에 있는 자원을 식별할 수 있도록 나타내는 주소
  • 저작권 표현(Right Expression)
    • XrML : 디지털 콘텐츠 / 웹 서비스 권리 조건을 표현한 XML기반 마크업 언어
    • MPEG-21 : 멀티미디어 표준 규격
  • 암호화 파일 생성(Packager)
    • 콘텐츠의 암호화를 통해 콘텐츠를 보호하는 기술
  • 정책관리(Policy Management)
    • XML : 마크업 언어를 만드는데 사용하는 다목적 언어
    • CMS : 콘텐츠 작성, 수집, 관리, 배급부터 활용, 폐기까지 전 공급과정 관리
  • 크랙방지(Tamper Resistance)
    • 코드 난독화 : 역공학 공격을 막기 위해 프로그램 소스코드 바꾸는 기술
    • Secure DB : 커널 암호화 방식, 데이터베이스 보안 강화 기술
  • 인증(Authentication)
    • SSO : 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근 가능한 통합 로그인 기술