///////
Search
5️⃣

심화문제 4~6

4. 실시간 시스템에 대해 설명하시오.

엄격한 마감시간이 요구되는 특수한 분야를 위해 발전시킨 기술
2가지 부류
경성 실시간성(hard real-time)
지정한 응답 시간을 정확히 지키는 시스템
데드라인 위반사건 발생시 재앙적 사건이 발생 - 항공기/미사일 제어, 원자력 발전소
데드라인을 100% 준수한다는 것을 증명해야 함
운영체제의 크기가 아주 작다 - 증명을 위해
연성 실시간성(soft real-time)
지정한 응답 시간을 최대한 지키지만 융통성이 어느 정도 허용된 시스템
데드라인 위반 시 재앙까지는 야기하지 않음 - 동영상 처리
데드라인 만족 여부는 보통 확률로 제시
실시간 작업과 일반 작업 간의 우선순위 제어로 해결
WCET(Worst Case Execution Time)
데드라인 이전에 반드시 수행 시켜야 할 작업을 수행하는데 걸리는 최대 소요시간
시분할 시스템과의 차이
실시간 시스템의 경우 아래 사진에서처럼 마감시간이 b라면, 아무리 늦더라도 Program1이 c시점엔 스케줄링이 마무리 되어야 하고, 그에 따라 Program2가 스케줄링 당해야 실행되지 않는다.
시분할 시스템의 경우 타임 슬라이스가 끝날 때 마다 스케줄링을 실행하고, c 시점에 우선순위에 따라 프로그램이 실행된다.

5. 클라우드 컴퓨팅에 대해 설명하시오.

하드웨어적 컴퓨팅 환경 통합(그리드 컴퓨팅) + 소프트웨어적 컴퓨팅 환경 통합(SaaS)
IT를 구매하는 대신 임대하는 방식
장점
서버 구매 시 고려해야 할 전력, 위치, 확장성 고민x
서버 세팅과 관련하여 신경쓰지 않고 서비스 운영에 집중 가능
사용한 만큼 비용 지불하기 때문에 서비스 운영에 있어 효율성 증대
제공 형태
퍼블릭 클라우드
특정 기업이나 사용자를 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델
클라우드 서비스 제공자(CSP)가 관리
사용자 별로 권한 관리 가능, 서비스 사용자 간의 간섭 없음
프라이빗 클라우드
제한된 네트워크 상에서 특정 기업이나 특정 사용자만을 대상으로 하는 클라우드
서비스의 자원과 데이터 기업 내부에 저장
자원 제어권 기업 소유
보안성 우수, 클라우드 기능 커스텀마이징 가능
하이브리드 클라우드
퍼블릭 클라우드 + 프라이빗 클라우드 병행
클라우드(가상서버) + 온프레미스(물리서버) 결합 형태로 보기도 함
두 클라우드의 장점을 함께 취할 수 있음
서비스 유형
1.
IaaS
서비스로서의 인프라
사용자가 관리할 수 있는 범위가 가장 넓은 클라우드 컴퓨팅 서비스
사용자가 서버OS, 미들웨어, 런타임, 데이터, 애플리케이션 직접 구성, 관리 가능
CSP가 서버 운영에 필요한 모든 것을 책임지고 관리
ex. AWS의 EC2, Google의 Compute Engine(GCE), 가비아의 g클라우드
2.
PaaS
서비스로서의 플랫폼
IaaS 형태의 가상화된 클라우드 위에 사전에 사용자가 원하는 서비스의 개발환경 구축을 통해 서비스 형태로 제공
운영체제, 미들웨어, 런타임 미리 구축 상태로 자유도는 IaaS에 비해 낮음
서비스 외적인 부분 신경 덜 쓰고, 애플리케이션 개발과 비즈니스에 집중 가능
ex. 세일즈포스닷컴의 Heroku, Redhat의 OpenShift
3.
SaaS
서비스로서의 소프트웨어
가장 완성된 형태의 클라우드 서비스
클라우드 인프라 위에 소프트웨어 탑재된 상태를 제공
자원, 소프트웨어 및 업데이트, 버그 개선 등을 모두 업체가 책임짐
인프라 구축, 개발 환경 세팅 및 소프트웨어 개발에 소요되는 비용 절약 가능
ex. 슬랙(Slack), 마이크로소프트365, 드롭박스(Dropbox)

6. API와 SDK를 비교하여 설명하시오.

공통점
이미 만들어진 기능을 다른 개발에 활용할 수 있음
차이점
API는 완성품을 사용할 수 있도록 도와주는 인터페이스
SDK는 완성품을 원하는대로 만들 수 있도록 도와주는 개발 도구
SDK안에 API가 포함된 개념, 더 상위 개념
예시
페이스북 “좋아요” 기능을 만들고 연동해서 사용하게 하는 것은 API
페이스북 “좋아요” 기능을 만들기 위해 필요한 도구들을 다 제공할테니 원하는 대로 만들게 하는 것은 SDK