티스토리 뷰
네트워크와 인터넷
통신과 네트워크
통신 환경의 발전
- 모스부호 : 전기를 이용한 최초의 통신 수단으로, 미리 정해놓은 짧은 음과 긴 음을 조합하여 먼 곳에 있는 사람에게 실시간으로 문자를 전송
- 전화 : 통신하려는 대상을 선으로 연결하여 부호가 아닌 사람의 음성 전달
- 무전기 : 최초의 무선통신 기기로, 양쪽으로 통신할 수 있으나 어느 시점에는 한쪽으로만 통신이 가능
통신 방향
- 단방향 통신(simplex)
- 한쪽 방향으로만 통신이 이루어지는 방식
- 예) 모스부호, 라디오, TV 방송 등
- 양방향 통신(duplex)
- 양쪽 방향으로 동시에 통신이 이루어지는 방식
- 예)일반 전화기
- 반양방향 통신(half duplex)
- 단방향 통신과 양방향 통신의 중간형태
- 양방향 통신이기는 하지만 어느 순간에는 한쪽 방향 통신이 가능
- 예) 무전기
네트워크 구성 방식
- 강결합 시스템
- 네트워크로 연결된 모든 컴퓨터의 프로세서가 하나의 메모리를 공유하는 방식
- 모든 컴퓨터는 메모리를 공유하면서 같은 운영체제 사용
- 약결합 시스템에 비해 속도가 빠름
- 프로세서들이 하나의 공유 메모리를 사용하여 통신하기 때문에 공유 메모리를 서로 사용하려고 경재하며, 이러한 경쟁을 교환 방법으로 해결
- 약결합 시스템
- 둘 이상의 독립된 시스템을 연결한 것
- 자신만의 운영체제, 메모리, 프로세서, 입출력장치를 가지고 독립적으로 운영되다가 필요할때 통신선을 이용하여 메시지 전달이나 원격 프로시저 호출(RPC)로 통신
- 컴퓨터들이 서로 독립적으로 작동하기 때문에 하나의 시스템에 장애가 발생해도 다른 시스템에 영향을 미치지 않음
프로토콜
- 다른 기기 간에 통신을 하기 위해 정한 약속
인터넷
LAN 토폴리지의 종류
- 스타형 : 중간에 네트워크를 관장하는 시스템을 두고 방사형으로 기기를 연결
- 링형 : 모든 기기를 원형으로 연결
- 버스형 : 중앙의 버스에 독립적으로 기기를 붙여 네트워크를 구성
인터넷의 등장과 발전
- 1960년대에 미국 국방성은 서로 호환되지 않는 LAN을 묶어 하나의 네트워크로 만들기 위한 ARPA 연구를 진행하여 1969년 아르파넷을 개발
- 1990년대에 유행한 하이텔에서는 키보드만으로 명령을 내리는 문자 기반 사용자 인터페이스(CUI)방식을 사용
- 1993년 미국 일리노이대학교 NCSA연구소의 대학생 마크 앤드리슨과 에릭 비나가 모자이크 개발
- 1995년 마이크로소프트가 인터넷 익스플로러를 개발하고 윈도우 운영체제에 포함하여 무료로 배포하면서 웹 브라우저가 급속도로 보금
- 웹 브라우저를 이용한 서비스는 월드 와이드 웹(WWW)이라고 함
분산 시스템
분산 시스템의 개요
분산 시스템
- 네트워크상에 분산되어 있는 컴퓨터가 작업을 처리하고 그 내용이나 결과를 서로 교환
분산 시스템의 장점
- 네트워크로 연결된 기기가 여러 자원을 공유할 수 있음
- 작업 분배를 통해 여러 기기가 작업을 나누어 처리할 수 있음
- 데이터나 처리를 분산함으로써 연산 속도를 향상할 수 있음
- 장애가 발생해도 시스템을 복수할 수 있음
분산 시스템에 사용되는 운영체제
- 네트워크 운영체제
- 각 컴퓨터가 독자적인 운영체제를 가진 채 사용자 프로그램을 통해 분산 시스템이 구현된 것
- 낮은 수준의 분산 시스템 운영체제
- 기기마다 운영체제가 다름
- 지역적으로 널리 분산된 대규모 네트워크에서 사용하기 때문에 사용자가 기기 및 운영체제의 종류와 사용법을 알고 있어야함
- 분산 운영체제
- 시스템 내에 하나의 운영체제가 존재하고, 전체 네트워크를 통틀어서 단일 운영체제로 운영
- 전체 시스템을 일관성 있게 설계할 수 있음
클라이언트/서버 시스템
클라이언트/서버 시스템의 구조
- 모든 컴퓨터가 동일한 지위를 갖지 않고, 작업을 요청하는 클라이언트와 요청받은 작업을 처리하는 서버의 이중구조
- 클라이언트가 서버에 작업을 요청하고 그 결과를 받는 과정
1) 클라이언트가 웹 브라우저에 서버 주소를 입력
2) 웹 브라우저는 HTTP를 이용하여 서버에 있는 HTML을 요청
3) 서버는 클라이언트의 요청을 처리한 후 결과를 클라언트에 전달
4) 결과가 클라이언트에 도착하면 웹 브라우저가 그 내용을 화면에 출력
데몬
- 멈추지 않고 계속 작동하는 프로그램
- 웹 시스템에서 사용하는 HTTP 데몬 또는 웹 데몬이라고 함
- 웹 데몬으로 많이 사용되는 소프트웨어는 IIS, 아파치 톰캣 등
CGI(Common Gateway Interface)
- 동적인 데이터를 HTML에 삽입하기 위해 프로세스에 질문을 하고 그 결과값을 HTML형태로 웹 데몬에 전달하는 프로세스가 필요해서 개발
- CGI를 프로그래밍 언어 형태로 만들어 개발자들이 다양한 작업을 할 수 이도록 했는데, 데표적인 예가 PHP, ASP, JSP
- ASP : IIS에 맞게 설계된 CGI로 주로 윈도우 운영체제에서 작동
- PHP : 아파치 서버에 맞게 개발된 CGI로 주로 윈도우 운영체제에서 작동
- JSP : 운영체제 상관없이 사용할 수 있도록 개발된 CGI
P2P 시스템(Peer to Peer)
P2P 시스템
- 비구조적 P2P 시스템 : 전체 노드에 대한 정보는 서버가 가지고 있고, 실제 데이터 전송은 일대일로 연결된 말단 노드를 통해 이루어지는 구조
- 구조적 P2P 시스템 : 각 노드가 전체 네트워크 장보가 아닌 부분적인 네트워크 정보를 유지함으로써 비구조적 P2P 시스템의 단점을 보완했으며 특정 파일의 소유 정보를 여러 노드가 공유함으로써, 시스템의 한 노드가 사라지더라도 데이터 공유가 지속적으로 이루어짐
클라우드 컴퓨팅
클라우드 컴퓨팅
- 언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경으로 그리드 컴퓨팅, SaaS, IaaS, PaaS가 결합된 형태
분산 시스템의 고가용성
고가용성의 개념
고가용성
- 업무 또는 서비스 중단을 최소화 하기 위해 이중화 작업을 하는 것
- 작게는 운영체제의 디스크 미러링부터 크게는 시스템 자체를 이중화하는 것을 포함하는 개념
고가용성 구성의 유형
상시 대기
- 평상시에 대기 상태를 유지하다가 가동 시스템의 하드웨어 또는 네트워크 장비에 장애가 발생하면 가동 시스템의 자원을 백업 시스템으로 이전하여 서비스가 중단되지 않게함
상호 인계
- 2개의 시스템이 각각의 고유 서비스를 수행하다가 한쪽 시스템에 장애가 발생하면 상대 시스템으로 작업을 이동하여 동시에 2개의 업무를 수행
컨커런트 액세스
- 여러 시스템이 동시에 업무를 나누어 병렬 처리
- 시스템 전체가 가동 상태로 업무를 수행하기 때문에 한 시스템에 장애가 발생해도 다른 시스템으로 작업을 이동하지 않고도 고가용성을 보장
'CS(Computer Science) > 운영체제' 카테고리의 다른 글
운영체제) #11 파일 시스템 (0) | 2020.12.10 |
---|---|
운영체제) #10 입출력 시스템과 저장장치 (0) | 2020.12.10 |
운영체제) #9 가상 메모리 관리 (0) | 2020.12.04 |
운영체제) #8 가상 메모리의 기초 (0) | 2020.12.04 |
운영체제) #7 물리 메모리 관리 (0) | 2020.12.03 |
- Total
- Today
- Yesterday
- Hummingbird
- github
- socket.io
- Django
- DART
- chatting
- 안드로이드스튜디오
- CHANNELS
- Android
- 코틀린
- password
- RecyclerView
- django server
- WAS
- Tutorial
- 안드로이드
- Kotlin
- 에러해결
- 알고리즘
- flutter
- 에러
- Android Studio
- 플러터
- springboot
- redis
- flame
- 해결
- node.js
- mysql
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |