1. 운영체제의 특징
- 운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다
- 하드웨어는 컴퓨터의 장치를 제어하고 데이터를 처리 하는 중앙 처리 장치, 데이터를 저장하는 기억장치, 외부와의 통신을 담당하는 통신 장치 그리고 데이터 입력과 출력을 담당하는 입출력 장치 등으로 구분될 수 있다.
- 즉, 운영체제는 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원을 관리하는 자원 관리이다.

2. 윈도우즈 계열 운영체제의 특징
- 사용자가 컨트롤하는 마우스의 아이콘을 이용하여 소프트웨어를 실행시키는 편리한 인터페이스를 지원하는 것이 특징이다
- 마이크로소프트사만이 수정 및 배포할 수 있으며 고객지원이 체계적이라는 장점을 가지고 있지만, 문제점(버그 등)이 발견되었을 시 수정에 시간이 걸린다는 담점이 있고, 이런 시간적 차이를 이용하는 악성 해커들로 인하여 유닉스 계열의 운영체제에 비하여 보안이 취약하다는 문제점이 지속적으로 제기되고 있다
3. 리눅스/유닉스 계열 운영체제의 특징
- 멀티태스크 기능에 초점을 맞추었으며 C언어로 재이식되어 대중화의 기반을 마련하였고, 이후 많은 변화를 거쳐 SYSTEM V 계열과 BSD(Berkely Software Distribution) 계열로 발전해 왔었으나, 현재는 이 둘의 장점을 통합한 버전의 유닉스가 배포되고 있다.
- 리눅스는 유닉스의 호환 커널이다
- 리눅스는 수천 명 이상의 개발자들이 코드를 보고 update를 하고 있다
- 따라서 버그 발생 시 다수의 개발자가 수정에 참여하여 빠른 업데이트가 가능하지만, 윈도우즈와 같은 체계적인 지원이 상대적으로 부족하여 일바인들보다 전문가들이 사용하고 있다
- 리눅스는 데비안, 레드헷, Fedora, Ubuntu, Cent OS와 같이 다양한 버전으로 다양한 회사에서 출시되고 있어 배포 정책, 배포 주기, 사상 등이 각기 다르다
- 유닉스는 현재 서버 시장과 슈퍼컴퓨터 시장에서 매우 높은 점유율을 가지고 있다
4. 기타 운영체제
01. 매킨토시 운영체제
- OS X 유닉스 기반으로 만들어져 애플사의 제품군에서만 사용이 가능한 그래픽 기반 운영체제이다.
- 애플사는 OS라는 운영체제를 오랜 기간 유지하여 왔으나, 1999년 OS X로 업데이트를 하였다
- 이후에는 클라이언트 버전, 서버 제품 등으로 제품군을 확대하였으며 2017년 OS X 시에라, 2018년 모하비 등을 지속적으로 발표하고 있다
- 매킨토시 OS는 프로그램을 카피하고 삭제함으로써 install과 uninstall의 과정을 단순화하였으며, 드라이버 설치 또한 OS의 확장 폴더에 넣고 재부팅을하면 인식되어 매우 간단하다
5. 운영체제 기본 명령어
- 운영체제를 제어하기 위한방법은 CLI(Command Line Interface)와 GUI(Graphic User Interface)가 있다
- CLI는 사용자가 직접 명령어를 입력하여 컴퓨터에게 명령을 내리는 방식이며, GUI는 마우스로 화면을 클릭하여 컴퓨터를 제어하는 방식이다
- 초기 윈도우즈는 운영체제를 CLI로 설치해야 했으나, 마우스 기반의 제어 시스템인 GUI가 개발되며 설치 또한 화면 위주로 하게 되어 사용 빈도가 줄었다
- 그러나 오픈소스 기반의 개발환경이 급격히 늘어나며 GitHub 등의 사용이 중요해지게 되었다
- CLI는 Gut과 GitHub를 통한 소스 관리에 유용하므로 기본 개념과 명령어들을 숙지해야 한다
6. 윈도우즈 운영체제의 기본 명령어
01. CLI(Command Line Interface) 기본 명령어
- CLI 명령어를 입력하기 위해서는 Command 창이 필요하다
- 프로그램 및 파일 검색에서 'CMD'를 입력하거나 윈도우즈 보조 프로그램에서 '명령 프롬프트'를 선택하여 Command 창을 호출할 수 있다
- 명령어는 시스템 제어, 파일 제어, 실행, I/O, 실행 중 프로그램 중지, 진단 및 검증과 같이 다양하다
- 명령어는 'Help'를 command 창에 입력함으로써 검색이 가능하다
02. GUI(Graphic User Interface) 기본 명령어
- 윈도우즈 내에서 파일을 이동하고 프로그램을 실행하는 것 등 모든 것이 GUI 명령에 해당한다
- 메모리나 디스크 제어 등이 필요할 경우에는 제어판에서 필요 기능을 선택하여 명령을 내릴 수 있다
7. 리눅스/유닉스 계열 운영체제의 기본 명령어
- 리눅스와 유닉스 명령어는 Shell에서 입력할 수 있다.
- Shell이란 컴퓨터 내부를 관리하는 Kernel과 사용자 간을 연결하는 Commad 창이다
- 셸의 주요 기능은 다음과 같다
- 세션별 변수를 설정, 운영체제를 사용자가 원하는 상태로 설정하도록 지원
- 사용자 요청에 기반한 명령렬 작성
- 백그라운드 처리, 서브 셸 생성
- 일련의 명령어를 묶어 처리하는 스크립트 기능 지원 등
- Bourne 계열은 Bash 셸, Korn 셸, Bourne 셸 등이 존재하고, C 계열은 Csh, Tcsh, Zsh, Ash와 같은 셸이 있다.
01. CLI(Command Line Interface) 기본 명령어
- 리눅스는 최상위 유저를 CLI 환경에서 #으로 표시하며 일반 유저를 $로 표시한다.
- 명령어에 대한 도움말을 -help, -h, #man을 명령어 뒤에 붙임으로써 확인할 수 있다
- 명령어는 파일 디렉터리 관리, 우저 관리, 권한 관리, 프로세스 관리, 통신 관련 등으로 구분될 수 잇다
- 최상위 디렉터리는 /이며 root는 최상위 디렉터리 아래의 root 계정의 홈 디렉터리임을 의미한다
- 타 운영체제에서는 root를 최상위 디레겉리라고 하는 것과 다르다

02. GUI(Graphic User Interface) 기본 명령어
- 리눅스의 GUI는 윈도우즈와 같이 기본설정이 아닌 경우가 많아 버전별로 별도의 설치 방법에 따라 GUI 환경을 설치해야 한다
- 설치 뒤에는 GUI 환경과 CLI 환경을 이동하는 명령어를 사용하여 두 환경을 이동할 수 있다.
8. 운영체제 핵심 기능
- 운영체제는 중앙 처리 장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리한다.
- 특히 주기억 장치와 메모리, 메모리와 스토리지 사이의 속도차로 인해 여러 가지 관리 기법들이 개발 되었다
- 초기에는 메모리 용량에 제한이 많아 소프트웨어 개발 시 메모리관리가 매우 중요 했으나, 최근에 들어서 운영체제에서 대부분 자동으로 관리해 주므로 사용이 편리해졌다.
- 또 개발 및 시스템 환경이 클라우드화 되면서 자원에 대한 관리 노력이 많이 줄었다.
01. 메모리 관리
- 메모리 안에는 다수의 프로그램들이 실행된다
- 프로그램 실행 중 메모리가 꽉 차게 되면 시스템의 속도가 느려지고 때로는 시스템이 멈추는 현상이 발생한다.
- 따라서 프로그램의 실행이 종료될 때 까지 메모리를 가용한 상태로 유지 및 관리하는 것을 메모리 관리라고 한다
- 메모리에 있는 프로그램은 중앙 처리 장치인 CPU로 이동하여 처리된다
- CPU는 Virtual or logical address를, 메모리는 physical address를 사용하는데 이를 매핑하는 것은 MMU(Memory Management Unit)가 담당한다.
- 즉, CPU와 지속적으로 데이터를 송수신하는 상황에서 어떤 부분의 메모리가 현재 사용되는지, 어떤 순서로 메모리에 입출력되어야 하는지, 메모리 공간이 필요할 경우 어떻게 확보 및 제거할지에 대한 종합적인 관리가 메모리 관리이다.
02. 프로세스 관리
- 프로그램은 파일 형태로 저장하여 관리되다가 실행을 시키면 동작을 하게 된다.
- 이때 실행 중인 프로그램을 프로세스(Process)라고 한다
- 프로세스 관리 기법에는 '일시 중지 및 재실행', '동기화', '통신', '교착상태 처리', '프로세스 생성 삭제' 등이 있다.
- 윈도우즈에서는 작업관리자의 프로세스 탭에서 다양한 프로그램이 정상 동작하지 않을 때 프로그램 끝내기를 통해 프로세스를 중단시킬 수도 있다
9. 가상화 클라우드
01. 가상화
- 가상화는 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 반대로 하나의 물리적 인 리소스를 여러 개로 보이게 하는 것을 믜미한다
- 대부분의 서버는 용량의 20% 정도만을 사용하는 데, 가상화는 서버의 가동률을 60 ~ 70% 이상으로 올릴 수 있다
- 가상화를 통해 사용자는 하나의 PC에 여러 종류의 운영체제를 설치하여 개발되는 프로그램을 다양한 환경에서 테스트할 수 있도록 하며, 서로 다른 우영체제에서만 구동되는 프로그램을 실행시키도록 지원하기도 한다
- 가상화는 크게 플랫폼을 가상화와 리소스 가상화로 구분될 수 있으며 플랫폼 가상화는 하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것처럼 보여주는 것이다
- 게스트 소프트웨어 위에서 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용할 수 있다
- 리소스 가상화는 메모리, 저장 장치, 네트워크 등을 결합하거나 나누는 것인데, 사용자는 가상화된 물리적 장치들이 어떤 위치에 있는지 모르는 경우가 많다
02. 클라우드
- 인터넷 기반에서 구동되는 컴퓨팅 기술을 의미한다
- 클라우드 컴퓨팅을 이용하면 응용 프로그램을 필요에 다라 불러 사용하고, 데이터를 손쉽게 저장 및 추출할 수 있다
- 태블릿, 휴대폰 등 사용 디바이스가 다양해지면서 클라우드 컴퓨팅은 중요도가 높아지고 잇다
- 클라우드 서비스는 IaaS, Paas, SaaS등으로 구분된다.
- Iaas(Infrastructure as a Service) : 웹상에서 구글, 마이크로소프트, 아마존 등에서 제공하는 환경의 네트워크, 보안, 데이터 저장소, 콘텐츠 딜리버리 서비스를 포함한 다양한 인프라를 임대하여 이용할 수 있는 서비스
- PaaS(Platform as a Service) : 운영체제가 이미 구성되어 있는 상태에서 사용자는 데이터와 애플리케이션만 직접 관리할 수 있는 서비스
- SaaS(Software as a Service ) : 인프라와 운영체제뿐만 아니라 사용할 수 있는 소프트웨어까지 갖추어져 웹상의 로그인만으로 다양한 소 프트웨어를 사용한 만큼 비용을 지불해 가며 사용할 수 있는 서비스
10. 네트워크 개요
- 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라를 네트워크라고 한다
- 정보 전달 시에는 약속한 규칙에 따라야 하는데 이를 프로토콜이라고 한다

01. WAN(Wide Area Network)
- 국가, 대륙과 같이 광범위한 지역을 연결하는 네트워크이다
- 거리에 제약이 없으나 다양한 경로를 지나 정보가 전달되므로 LAN보다 속도가 느리고 에러율도 높다
- 전용 회선 방식은 통신 사업자가 사전에 계약을 체견한 송신자와 수신자끼리 데이터를 교환하는 방식이며 교환회선 방식은 공중망을 횔용하여 다수의 사용자가 선로를 공유하는 방식이다.
(1) 회선 교환 방식
- 물리적 전용선을 활용하여 데이터 전달 경로가 정해진 후 동일 경로로만 전달이 된다
- 데이터를 동시에 전송할 수 있는 양을 의미하는 대역폭이 고정되고 안정적인 전송률을 확보할 수 있다
(2) 패킷 교환 방식
- 패킷이라는 단위를 사용하여 데이터를 송신하고 수신한다.
- 패킷이란 정보를 일정한 크기로 분할한 뒤 각각의 패킷에 송수신 주소 및 부가 정보를 입력한 것이다
- 현재 컴퓨터 네트워크에서 주로 사용하는 방식이다
11. OSI(Open System Interconnection) 7계층
- 국제 표준화 기구인 ISO(Open System Interconnection)에서 개발한 네트워크 계층 표현 모델이다
- 각 계층은 서로 독립적으로 구성되어 있고 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공한다
- 1계층인 물리 계층부터 7계층인 애플리케이션 계층으로 정의되어 있다

- 네트워크 관리 기술의 발달로 인해 최근에는 5, 6계층 레이어는 7계층 레이어로 합쳐 통 칭하기도 한다

12. 네트워크 주요 장비
01. 허브, 리피터허브, 리피터, 브리지, 스위치, 스위치브리지
- 허브, 리피터허브는 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비이다
- 리피터는 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 ㅇ낳고 컴퓨터로 수신되도록 한다
- 브리지, 스위치브리지와 스위치는 두 시스템을 연결하는 네트워킹 장치이며 두 개의 LAN을 견결하여 훨씬 더 큰 LAN을 만들어 준다.
- 스위치는 하드웨어 기반으로 처리하기 때문에 속도가 빠르며, 브리지는 소프트ㅜ에어 방식으로 처리하기 때문에 속도가 느리다
- 브리지는 포트들이 같은 속도를 지원하는 반면 스위치는 각기 다른 속도를 지원하도록 제어할 수 있다.
- 스위치는 제공하는 포트 수가 수십, 수백개로 2~3개의 포트를 제공하는 브리지보다 많다
- 브리지는 Store and Forwarding 전송 방식만을 사용하나 스위치는 Cut Through와 Frament Free 방식을 같이 사용한다
- Store and Flowraing : 데이터를전부 반은 후 다음 처리를 하는 방식
- Cut Through : 데이터의 목적지 주소만 확인 후 바로 전송하는 처리하는 방식
- Fragment Free : 위 두 방식의 장점을 결합한 방식
02. 라우터
- 라우터는 망 연동 장비이다.
- PC 등의 로컬 호스트가 LAN에 접근할 수 있도록 하며, WAN 인터페이스를 사용하여 WAN에 접근하도록 한다
- 라우팅 프로토콜은 경로 설정을 하여 원하는 목적지까지 지정된 데이터가 안전하게 전달되도록 한다
13. 네트워크 프로토콜 개요
- 네트워크 프로토콜은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다.
- 통신 규약 또는 규칙에는 전달 방식, 통신 방식, 자료의 형식, 오류 검증 방식, 코드 변환규칙, 전송 속도 등을 정하게 된다
- 다른 기기 간 정보의 전달을 표준화할 수 있다
- 프로토콜은 다음과 같은 특징이 있다
- 단편화 : 전송이 가능한 작은 블록으로 나누어지는 것
- 재조립 : 단편화되어 온 조각들을 원래 데이터로 복원하는 것
- 캡슐화 : 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 것
- 연결 제어 : 데이터의 전송량이나 속도를 제어하는 것
- 오류 제어 : 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 것
- 동기화 : 송신과 수신 측의 시점을 맞추는 것
- 다중화 : 하나의 통신 회선에 여러 기기들이 접속할 수 있는 기술
- 주소 지정 : 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 것
- IP(Internet Protocol)주소는 전 세계 컴퓨터에 부여되는 유일한 식별자이다
- IP는 각 나라의 공인 기관에서 할당하고 관리한다
- PIv4는 인터넷 초기부터 현재까지 쓰고 있는 주소 체계이며 0000.0000.0000.0000과 같이 12자리로 표시하며 약 43억 개를 부여할 수 있다
- 최근에는 디바이스으 ㅣ증가로 IPv4가 가진 주소의 양이 부족할 수 있어 IPv6를 공표하였다
- 2018년 현재는 IPc4와 IPv6가 공존하며 두 개의 주소 체계를 변환하여 사용하고 있으며 이를 담당하는 것을 NAT(Network Address Translator)라고 한다
- IPv6는 이전 버전에 비하여 효율적인 패킷을 처리하고 보안이 강화된 특징이 있다
14. TCP/IP 프로토콜
- TCP/IP 이란 TCP와 IP 프로토콜만을 자칭하는 것이 아니라 UDP(User Datagram Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP)등 관련된 프로토콜을 통칭한다
- TCP와 UDP로 구분되는 프로토콜은 트랜스포트 계층에서 응용 계층과 인터넷 계층 사이의 통신을 담당 한다

- TCP와 UDP의 가장 큰 차이점은 데이터 전송의 신뢰성에 있다
- TCP는 수신 측의 수신 가능 상태, 수신 여부 등을 단계별로 체크해 가며 데이터를 전송하는 반면, UDP는 망으로 데이터를 송신할 뿐 확인 작업을 수행하지 않는다
01. TCP(Transmission Contril Protocol)
- CRC 체크와 재전송 기능을 통해 신뢰성 있는 전송을 확보한다
- Flow Control 기능을 수행하여 단계별ㄷ ㅔ이터로 전송 상황을 체크한다
- 논리적인 1:1 가상 회선을 지원하여 해당 경로로만 데이터가 전달되도록 한다
- 대표 서비스 : FTP, Telnet, Http, SMPT, POP, IMAP 등
02. UDP(User Datagram Protocol)
- 연결되어 있어도 데이터를 송신할 수 있다(단, 수신 측의 수신 여부는 확인하기 어렵다.)
- FLow Control, Error Control을 하지 않아 신뢰성 있는 데이터 전송에는 부적합하다
- 하나의 송신 정보를 다수의 인원이 수신해야 할 경우 UDP를 사용한다
- 대표 서비스 : SNMP, DNS, TFTP, NFS, NETBIOS, 인터넷 게임/방송/증권 등
03. TCP/UCP의 헤더 구조
- 위와 같은 프로토콜의 차이는 헤더의 구조에 잘 나타나 있다.
- 송/수신자 포트번호 : 송신-수신 프로세스에 할당되는 포트 주소
- 순서 번호 : 송신자가 전하는 데이터 전송 순서
- 응답 번호 : 제대로 수신했는지 여부를 수신자 측으로부터 전달받음
- 데이터 오프셋 : 헤더의 크기
- 예약 필드 : 다른 사용 목적으로 확보된 필드로 실제 사용 안함
- 윈도 크기 : 수신 윈도의 버퍼 크기 지점
- Checksum : 헤더와 데이터의 오류 검출
- 긴급 위치 : 긴급 데이터 처리용
- 제어 비트 : 긴급 필드 설정, 응답 번호 유효 여부 등 체크

15. 패킷 스위칭
- WAM을 통해 데이터를 원격지로 송부하기 위해 X.25, 프레임릴레이 및 ATM과 같은 다양한 기술들을 필요로 하게 돠었다.
01. X.25
- 전기 통신 국제기구인 ITU-T에서 관리 감독하는 프로토콜이다
- X.25는 패킷이라고 불리는 데이터 블록을 사용하여 대용량의 데이터를 다수의 패킷으로 분리하여 송신하며, 수신 측 에서는 다수의 패킷을 결합하여 원래의 데이터로 복원한다
- X.25는 OSI 7계층상의 레이어 중 1 ~ 3 계층까지를 담당하고 있다

- X.25는 데이터 송수신의 신뢰성을 확보하기 위해 양자 간 통신 연결을 확립해 나가는 프로세스를 거친다
- 초기에 에러 제어나 흐름 제어를 위한 복잡한 기능을 제어를 위한 복잡한 기능을 가지고 잇어 자체로 성능상의 오버헤드가 발생되었기 때문에 현재는 프레임릴레이나 ISDN, ATM 등 고속망으로 대체되었다
02. 프레임릴레이
- 프레임릴레이는 ISDN을 사용하기 위한 프로토콜로서 ITU-T에 의해 표준으로 작성됬고 다음과 같은 특징이 있다
- X.25가 고정된 대역폭을 갖는 반면, 프레임릴레이는 사용자의 요청에 따라 유연한 대역 폭을 할당한다
- 망의 성능 향상을 위해 에러 제어 기능과 흐름 제어 기능을 단순화시켰다.
- X.25가 OSI 7 계층 중 1 ~ 3 계층까지를 담당하는 반면, 프레임릴레이는 1 ~ 2 계층만을 담당 한다
- 전용선을 사용하는 것보다 가격이 저렴하며 기술적으로는 X.25에 비해 우위에 있다
03. ATM(Asynchronous Transfer Mode)
- ATM은 비동기 전송모드라고 하는 광대역 전송에 쓰이는 스위칭 기법이다.
- 동기화를 맞추지 않아 보낼 데이터가 ㅇ없는 사용자의 슬롯은 다른 사람이 사용할 수 있도록 하여 네트워크상의 효율성을 높였다
- ATM 망은 연결형 회선이기 때문에 하나의 패킷을 보내 연결을 설정하게 되고 이후 실데이터 전송이 이루어진다.
- ATM은 OSI 7계층과는 다른 고유한 참조 모델을 가지고 있다
- 물리 계층(Physhical Layer) : 물리적 전송 매체를 다룬다.
- ATM 계층 : 셀과 셀 전송을 담당한다, 셀의 레이아웃을 정의하고 헤더 필드가 의미하는 것을 알려준다. 또 가상 회선의 연결 및 해제, 혼잡 제어도 다룬다
- AAL(ATM Adaption Layer) : 패킷을 작은 조각인 셀로 전송한 후 다시 조립하여 원래의 데이터로 복원하는 역할을 한다
16. 서킷 스위칭 패킷
- 스위칭과 달리 네트워크 리소스를 특정 사용층이 독점하도록 하는 것을 서킷 스위칭이라 부른다
- 네트워크를 족점적으로 사용하기 때문에 전송이 보장(Guranteed)된다는 특징이 있다
- 서킷 스위칭은 서킷을 확보하기 위한 작업을 진행하고 실데이터를 전송하며 서킷을 닫는 프로세스로 진행된다
- 이러한 작업이 일어나는 동안 다른 기기들은 해당 경로를 설정할 수 없다
17. 라우팅 알고리즘
- 데이터는 송신 측으로부터 수신 측까지 데이터를 전달하는 과정에서 다양한 물리적ㅇ니 장치들을 거쳐 간다
- 목적지까지의 최적 경로를산출하기 위한법칙이 라우팅 알고리즘 이다
01. 거리 벡터 알고리즘(Disance vector algorithm)
- 라우터와 라우터 간의 최단 경로 스패닝 트리를 찾고 그 최적 경로를 이용할 수없을 경우에 다른 경로를 찾는다
- 각 라우터가 업데이트될 경우마다 전체 라우팅 테이블을 보내라고 요청하지만 수신된 경로 비용 정보는 이웃 라우터에게만 보내진다
- 링크 상태 알고리즘보다 계산 면에서 단순하다
02. 링크 상태 알고리즘(Link state algorithm)
- 라우터와 라우터 간의 모든 경로를 파악한 뒤 대체 경로를 사전에 마련해 두는 방식이다
- 링크 상태 알고리즘을 사용하면 네트워크를 일관성 있게 파악할 수 있으나 거리 벡터 알고리즘에 비하여 계산이 더 복잡하고 트래픽을 광범위한 범위까지 전달해야 한다
03. 라우팅 프로토콜의 종류

18. 운영체제 선택 및 설치
01. 윈도우즈 계열 운영체제 선택
- 윈도우즈 계열 운영체제는 개인용, 기업용, 워크스테인션용으로 출시된다
- Windows Home
- Windows Pro
- 소규모 기업용에게 최적화된 운영체제이다
- Pro는 Home에 비해 관리 및 배포, 도메인 가입, 엔터프라이즈 모드, 원격 데스크톱 지원, Hyper V와 같이 향상된 기능을 제공합니다.
- Windows Pro for Workstation
- 트랜잭션이 몰리거나 목구 기능을 필요로 하는 소규모 기업용 운영체제이다
- Pro에 비하여 CPU를 4개까지 동시 지원하여 동시 처리 성능이 뛰어나며 메모리도 6테라바이트까지 지원한다
- 또 비휘발성 메모리 모듈을 지원하여 전력이 공급되지 않아도 데이터를 유지할 수 있어 안저성이 향상되었으며 파일 복원을 위해 향상된 ReFs를 지원한다
02. 리눅스/유닉스 계열 운영체제
- 선택오픈소스 기반의 리눅스와 유닉스는 개발사 및 제공 업체가 다양하며 리눅스는 Redhat, 페도라, 센트 OS와 같은 Redhat 계열과 데비안, 우분투, 칼리, 라즈비안과 같은 데비안 계열 그리고 기타 리눅스(젠투, 아치, 슬랙웨어) 등으로 구분된다
19. 운영체제 운용
- 외부의 침입이나 바이러스로 인해 시스템이 통제 불능의 상태가 되어 불필요한 리소스를 낭비하거나 중요한 데이터의 유실을 방지하기 위해 다음 사항을 지속 점검하여 운용한다
01. 서버 운용 기준
- 운용 아키텍처 및 기능 파악
- 네트워크 구성 및 중지 매뉴얼 확인
- 장비 가동 및 중지 매뉴얼 확인
- 백업 주기, 보안 업데이트 주기 설정 및 점검
- 트러블 발생 시 대처 방안 마련
02. 개별 PC용 운영체제 운용 기준 - 정기적 데이터 백업
- 주기적 보안 업데이트
- 시스템 백업 정례화
- 트러블 발생 시 문의처 정보 확인
20. 프로그래밍 언어
- 다양한 프로그래밍 언어를 서냍가힛는 것은 시스템 개발 및 운영에 매우 중요하다
- 언어를 선택함에 있어 다음 사항 등을 고려한다
- 언어의 타입 : 정적 개발언어, 동적 개발언어
- 목표 시스템의 특징 : 일반 시스템 또는 도메인 특화 시스템
- 언어 특징 : 객체 지향, 명령형, 서술형, 순서형, 선언형
- 지원 : 관리도구 지원형, 언어 독립형
- <표 4-3>에 나와 있는 언어 외에도 다양한 언어가 개발되어 배포되고 있다
- 기본적 규칙 체계는 유사하다
- 최근의 응용 시스템이나 서비스는 단일 언어만으로 구축이 어려운 경우가 많다
