운영체제 강의노트 -...

15
소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판) 출판사 : 한빛미디어(201011발행) 저자 : 구현회

Upload: others

Post on 25-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 1

운영체제 강의노트

교재 : 운영체제(개정판) 출판사 : 한빛미디어(2010년 11월 발행) 저자 : 구현회

Page 2: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 2

11장 분산 및

병렬처리시스템

Page 3: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 3

1. 네트워크 및 분산 시스템

네트워크 컴퓨터 구성

• 전통적인 컴퓨터 시스템 방식 • 매우 성능이 좋은 대형 컴퓨터 한대를 구축하고 모든 사용자는 여기에 접속하여 사용 • 확장성이 좋지 않음

• 사용자 수가 늘거나 시스템 성능이 하락하게 되면 컴퓨터 자체를 통째로 바꿔야 함

• 네트워크 컴퓨터 구성 • 컴퓨터로 처리해야 할 업무의 비중에 맞는 중소형 컴퓨터 여러 대를 구축하고 이들 컴퓨터를 네트워크로 연결해서 사용 • 강결합 시스템(tightly coupled system)

• 메모리와 클럭을 공유하는 여러 개의 프로세서가 하나의 시스템을 구성

• 약결합 시스템(loosely coupled system) • 메모리와 클럭을 각각 사용하는 여러 개의 컴퓨터가 통신선을 공유하여 처리

Page 4: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 4

1. 네트워크 및 분산 시스템

원격 프로시저 호출

• 원격 프로시저 호출(RPC : Remote Procedure Call)이란? • 대 전제는 클라이언트-서버 시스템 환경 • 컴퓨터에서 실행되는 프로세스가 다른 컴퓨터에서 실행되는 프로세스의 프로시저를 호출

클라이언트

서버

결과 기다림

원격 프로시저 호출 호출로부터 복귀

지역 프로시저 호출과 결과 반환

요청 응답

시간→

Page 5: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 5

1. 네트워크 및 분산 시스템

• 원격 프로시저 호출의 동작 과정 • 클라이언트 스터브 호출 – 호출 매개변수를 요청 메시지로 변환 복사 – 네트워크를 이용하여 요청 메시지를 서버 스터브에 전달 – 서버 스터브는 해당 프로시저를 호출 – 프로시저 실행 종료 후 프로시저 결과를 서버 스터브에 전달 – 결과를 응답 메시지로 변환하여 클라이언트 스터브에 반환 – 최초 요청한 클라이언트에 결과 전달

클라이언트 서버

클라이언트 스터브

RPC 메카니즘

서버 스터브

RPC 메카니즘

네트워크

매개변수 결과

요청 응답

매개변수 결과

요청 응답

Page 6: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 6

1. 네트워크 및 분산 시스템

분산시스템

• 분산시스템 • 값이 저렴한 여러 컴퓨터를 한 운영체제가 제어할 수 있도록 구성한 시스템 유형

• 분산시스템 개발 동기 • 자원 공유

• 한 사이트에 있는 자원을 다른 사이트가 이용할 수 있어서 자원 활용도 향상

• 연산 속도 향상 • 동시에 수행 가능한 시스템 환경이 제공되므로 연산 속도 향상

• 신뢰성 • 하나의 시스템에 오류가 발생해도 시스템 전체의 성능에는 크게 영향을 주지 않는 신뢰성 제공

• 통신 • 다수의 사이트 간에 의견 교환 가능

Page 7: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 7

1. 네트워크 및 분산 시스템

분산시스템

• 분산시스템 투명성 • 상호 연결된 컴퓨터들이 하나의 시스템으로 인식할 수 있도록 시스템의 사용자에게 분산 양상을 감추어 프로세스, 자원 등의 물리적 위치를 몰라도 액세스하는데 전혀 문제가 되지 않는 속성

• 투명성의 종류 • 접근 투명성 • 위치 투명성 • 고장 투명성 • 중복 투명성 • 이동 투명성 • 영속 투명성 • 자원 투명성 • 트랜잭션 투명성 • 재배치 투명성 • 규모 투명성

Page 8: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 8

2. 네트워크 및 분산 운영체제

네트워크 운영체제

• 네트워크 운영체제(NOS : Network OS) • 통신을 제어하고 분산된 자원을 공유하면서 독립된 시스템을 서로 연결하기 위해 개발 • 네트워크 운영체제는 클라이언트 컴퓨터의 요청을 받아 서버에 저장된 대용량의 파일이나 서버에 연결된 공유 프린터의 자원을 클라이언트 컴퓨터에 제공하기 위해 설계된 운영체제

분산 애플리케이션

네트워크 운영체제 서비스

커널 커널 커널

네트워크 운영체제 서비스

네트워크 운영체제 서비스

네트워크

노드 A 노드 B 노드 C

Page 9: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 9

2. 네트워크 및 분산 운영체제

• 네트워크 운영체제의 주요 기능 • 자원 공유

• 네트워크에 연결된 클라이언트와 서버 간에 프린터, 하드디스크 등을 공유

• 액세스 권한 • 접근 자격에 맞게 하드웨어 또는 소프트웨어로의 접근을 허용

• 파일 전송 • 컴퓨터 간에 서로 파일 전송

• 데이터 보호 • 서버에 접근하는 클라이언트가 서버를 사용할 수 있는 권한이 있는지를 알기 위해 읽기, 쓰기 권한 등을 설정하여 데이터를 관리하고 보호

• 관리 제어 • 네트워크를 이용하는 각 클라이언트들의 이용 정보 및 네트워크 상에서 발생할 수 있는 여러가지 문제를 해결하고 조절하는 관리 기능 제공

Page 10: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 10

2. 네트워크 및 분산 운영체제

• 네트워크 운영체제의 운용 방식 • peer – to – peer 방식

• 동등하게 작동하는 LAN에 연결된 각각의 컴퓨터를 상황에 따라 클라이언트 혹은 서버로 인식하여 동작하는 방식 • 파일 서버 또는 중앙 집중식 관리 자원이 없으며 모든 컴퓨터가 동등한 액세스 권한을 가짐 • 시스템 구축 비용이 적고 자원 활용도가 높으나 자료가 분산되어 관리가 어렵고 보안에 취약함

• 클라이언트 – 서버 방식 • 상대적으로 성능이 우수한 시스템 하나를 서버로 지정하여 서버 중심의 서비스 제공 • 각 기능별(예를 들어, 프린터 서버, 파일 서버, 웹 서버 등)로 서버를 별도로 운영 가능함 • 서버를 중심으로 자원 및 데이터를 관리하므로 데이터 보안에 용이하지만 서버에 대한 의존성이 높아서 서버에 오류가 발생하면 시스템 전체에 문제가 발생할 수 있고, 비용이 상대적으로 높게 발생

Page 11: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 11

2. 네트워크 및 분산 운영체제

분산 운영체제

• 분산 운영체제(DOS : Distributed OS) • 네트워크 운영체제의 지역적인 자원 관리와 지역 제어의 제한을 벗어나 시스템 자원의 전역 제어 및 관리의 필요성에 의해 탄생됨 • 분산 운영체제는 네트워크가 공유하는 공동 운영체제로 사용자에게 시스템이 제공하는 여러 자원들에 엑세스가 가능한 참조 투명성을 제공

네트워크

서버

클라이언트

자원

통신

사이트 A 사이트 C

사이트 B

Page 12: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 12

2. 네트워크 및 분산 운영체제

클라이언트 / 서버 컴퓨팅

• 팻(fat) 클라이언트 • 가장 일반적인 클라이언트 / 서버 시스템 유형으로 어플리케이션 처리 모듈을 포함하여 프레젠테이션 로직이 클라이언트에 있는 방식

• 씬(thin) 클라이언트 • 클라이언트에는 프레젠테이션 로직만 위치하고 나머지 모든 부분은 서버에 위치한 방식

데이터베이스 데이터베이스

어플리케이션 처리 모듈 (저장 프로시저)

어플리케이션 처리 모듈 프레젠테이션 로직 프레젠테이션 로직

서버

클라이언트

질의 삽입 결과 반환 프로시저 실행 결과 반환

팻 클라이언트 씬 클라이언트

Page 13: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 13

2. 네트워크 및 분산 운영체제

미들웨어

• 분산시스템의 장점 • 저렴한 소형 컴퓨터 여러 개를 네트웍으로 연결하기 때문에 비용 절감 및 시스템 성능 향상

• 분산시스템의 단점 • 이종 컴퓨터간의 프로토콜 문제

• 미들웨어(middle wear) • 서로 다른 운영체제, 서로 다른 프로토콜을 사용하는 네트웍간의 접속, 서버 프로그램과의 호환성, 네트웍 자원에 대한 액세스 등이 가능하게 단일 사용자 환경으로 만들어주는 소프트웨어

클라이언트

미들웨어

네트웍 프로토콜

데이터베이스 서버

미들웨어

네트웍 프로토콜

데이터 베이스

Page 14: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 14

2. 네트워크 및 분산 운영체제 • 미들웨어에 의한 분산시스템의 일반적 구조

• 미들웨어는 기존의 단일 시스템 컴퓨팅과 같이 쉽게 분산 컴퓨팅을 구현할 수 있도록 애플리케이션의 구성 요소를 서로 결합해주면서 클라이언트와 서버를 연결하는 수단을 제공하는 소프트웨어이기 때문에 운영체제와 애플리케이션 사이에 존재

분산 애플리케이션

네트워크 운영체제 서비스

커널 커널 커널

네트워크 운영체제 서비스

네트워크 운영체제 서비스

네트워크

노드 A 노드 B 노드 C

미들웨어 서비스

Page 15: 운영체제 강의노트 - KOCWcontents.kocw.net/KOCW/document/2015/cup/weonsunghyun/11.pdf소프트웨어학과 원성현 교수 1 운영체제 강의노트 교재 : 운영체제(개정판)

소프트웨어학과 원성현 교수 15

2. 네트워크 및 분산 운영체제 • 미들웨어 컴포넌트

• 애플리케이션 서비스에 대한 액세스, 다른 시스템과의 애플리케이션을 지원하는 기능으로 구성

개발도구 관리도구

애플리케이션 서비스 (트랜잭션, E-mail, DB액세스)

코어 서비스 (이름 관리, 보안 등)

통신 서비스 (제어, 프로토콜 서비스)

실행 환경