본문 바로가기

컴퓨터 지식

런타임 환경

 

프로그램이 실행되는 환경을 "런타임 환경"이라고합니다.

런타임 환경은 매우 중요합니다. 그것은 당신의 프로그램에 대한 당신의 생각에 영향을 미칠 것입니다.  대한

예를 들어, 코드의 어느 정도를 작성해야합니까? 얼마나 많은 코드가

도서관? 도서관은 좋은가요? 하드웨어가 연결된 상태에서 자신의 트릭을 활용할  있습니까?

컴퓨터에? 운영 체제가 당신을 위해  가지 일을합니까? 제한 사항

운영 체제가 귀하에게 부과합니까? 귀하의 네트워크 피어 -  - 피어 또는 클라이언트 - 서버입니까? 이들,

프로그램 작성을 시작하기 전에 고려해야  질문입니다.

런타임 환경은 프로그램의 방식에 직접적인 영향을  수있는 것들로 구성됩니다

실행됩니다. 광범위하게는 다음과 같은 카테고리에 적합합니다 : 사용 가능한 라이브러리, 운영 체제,

CPU (Central Processing Unit), 주변 장치  네트워크 아키텍처를 포함합니다. 그만큼

운영 체제, CPU  네트워크가 가장 중요합니다. 우리는 각각을 보자.

하나씩.

도서관은 귀하가 다른 사람이 작성한 프로그램으로 귀하의 의견에 포함시킬  있습니다. 

 코드를 사용하지 않아도된다는 의미입니다. 대신, 그것을 pngram 포함시킨 다음

필요할  전화하십시오.  기능은 프로그램 개발을  쉽게 만듭니다. 도서관은 알려져있다.

크로스 오버 환경으로. 이들은 개발 환경 범주에 속합니다.

이는 코드 개발에 영향을 미치고 종종 컴파일러와 함께 제공되기 때문입니다. 일부 라이브러리

광범위하고 프레임 워크로 간주됩니다. 프로그래머에게 제공되는 프레임 워크

새로운 사고 방식, 새로운 패러다임. 예를 들어, XNA Microsoft 게임 개발입니다.

도서관. 라이브러리를 호출하는 것은 프로그래머에게 "게임 루프를 제공하기 때문에 조금 저하됩니다.

 게임 루프는 독자적으로 실행됩니다. 그것은 그래픽 화면과 인터페이스  관리 (제공

ijime 다른 단계들). XNA  게임을 작성하려면 프로그래머가

그들의 코드를 XNA 게임 루프에 넣습니다. 프로그래머는 게임을 직접 제어   없습니다.

고리.  게임 루프는 프로그래머가 통합해야하는 런타임 환경이됩니다.

그들의 계획에. 반대로 JMonkey Java  그래픽 기능을 제공하는 라이브러리입니다.

} 원숭이도 엉덩이 플랫폼 게임을 개발하는  사용할  있지만 JM onkey  적절합니다.

JMonkey 사용하여 작성된 코드가 특정 코드를 따르지 않아도되기 때문에 라이브러리로 생각했습니다.

실행 프레임 워크. 프로그래머는 원하는대로 게임을 구현해야합니다.

따라서 JMonkey 프레임 워크라고해서는 안됩니다. 그러나 JMonkey 매우 완벽합니다. 프로그래머

그래픽 하드웨어를 무시할  있으며 JMonkey 그래픽 하드웨어의 추상화로 사용할  있습니다.

 JMonkey 추상화는 프로그래머가 수행하는 런타임 환경을 반영합니다.

제목. 이는 프로그램 구축 방법과 프로그램의 능력 제한에 모두 영향을 미칩니다.

프로그래머는 라이브러리 I에서 제공하는 기능  기능으로 제한됩니다.

뼈대.

 

운영체제는 다양한 이름과 함께 다양한 모양과 크기로 제공됩니다. 운영 체제

작업은 실행중인 컴퓨터의 리소스를 관리하는 것입니다. 이러한 리소스  하나는 사용자 프로그램입니다.  다른 리소스는 주변 장치입니다. 운영 체제가 액세스를 제어합니다.

주변 장치에 연결하고 실행중인 프로그램이 수행  수있는 것에 대한 규칙을 정의합니다. 따라서 운영 체제

프로그래머에게  가지 중요한 방식으로 영향을 미칩니다. 프로그램 실행 방식과 방법

프로그램이 주변 장치에 액세스  수있게 해줍니다.

 

운영 체제가 응용 프로그램에 부과하는 런타임 규칙을 설명하면 요약   있습니다

단일 사용자 단일 프로세스, 단일 사용자 다중 프로세스, 다중 사용자

다중 프로세스, 다중 CPU, 분산 처리  코드 마이그레이션 처리를 지원합니다.

단일 사용자 단일 프로세스 컴퓨터는  사람 만이 계산을 사용할  있습니다.

 컴퓨터는 언제든지 하나의 프로그램  실행할  있습니다. 식기 세척기에는 단일 사용자가 있습니다.

단일 프로세스 CPU  운영 체제.  기계는  번에  가지만   있습니다.

1970 년대와 1980 년대의 개인용 컴퓨터는 언제든지 하나의 프로그램  실행할 수있었습니다.

그것들은 재미있는 기계 였지만 아주 제한적이었습니다. 단일 사용자 rrnlti 프로세스 컴퓨터는 무엇입니까?

우리는 오늘날 익숙합니다. 우리의 개인용 컴퓨터는 이런 식으로 행동합니다.  명만 사용할  있습니다.

귀하의 개인 컴퓨터는 언제든지 사용할  있지만 해당 컴퓨터는

같은 시간. 동시에 워드 프로세서와 브라우저를 사용하고있을 수도 있습니다.

너의 스크린에 시계 진드기. 따라서 귀하의 컴퓨터는  3 개의 프로그램을 운영하고 있습니다. 프로그래머

단일 사용자 단일 프로세스 컴퓨터에서  번째 실행 프로그램을 작성하려는 경우

프로그램을 만들지   수는 없습니다. 런타임 환경은  기능을 제공하지 않습니다.

다중 프로세스 환경에서는 동일한 프로그램에서 하나 이상의 프로그램을 사용할 수있을뿐만 아니라

시간은 있지만, 이러한 프로그램은 서로 통신   있습니다 (다양한 방법을 통해). ,

너무 인상적인 실행 시간 기능입니다. 다중 처리 환경의 프로그래머는

그들의 프로그램을 모두 동시에 실행하고 서로 이야기하는 여러 프로그램으로 나눕니다.

다중 사용자 다중 프로세스 컴퓨터는 일반적으로 서버라고합니다. 서버는 단일 컴퓨터입니다.

 이상의 사용자가 로그온   있습니다.  로그인   사용자는

동시에 여러 프로그램. 서버의 임무는 모든 사람이 자신의 서버에 있는지 확인하는 것입니다.

공간과 다른 사람을 방해하지 않습니다.  런타임 환경은

 새로운 클래스의 컴퓨터는 서버로 알려져 있지만이 런타임 환경에서는 프로그래머가

다른 사용자의 프로그램과 통신  수있는 프로그램 작성 이것의 

기능은 다중 사용자간에 공유되는 전자 칠판을 갖는 것입니다.

컴퓨터.

 

멀티 CPU 컴퓨터는 ulti-process 컴퓨터와 유사합니다.

하나의 CPU. 오늘날 많은 컴퓨터에는 듀얼 코어 (2) 또는 쿼드 코드 (4) CPU 있습니다. 실행 시간

우리가 지금받는 이점은 진정으로 같은 프로그램에서 여러 프로그램을 실행할  있다는 것입니다.

시각. 기존의 다중 프로세스 컴퓨터는 CPU 하나 밖에없는 시스템에서 실행됩니다. 이것은

CPU 언제나  번에 하나 이상의 프로그램을 실행할  없다는 것이 었습니다.

언제든지 물리적으로 하나의 활동으로 제한됩니다. 기존의 멀티 프로세서에서이 문제

작업 전환이라는 전략으로 극복되었습니다. 작업 전환은 공유 방식의 기술입니다.

하나의 CPU 가진 여러 프로그램.  프로그램은 짧은 시간 동안 CPU에서 실행됩니다.

 

프로그램이 일시 중지   잠시 다음 프로그램이 실행됩니다.  과정은

반복해서 반복하십시오. 우리가 여전히 정지 영상을보고있는 영화 에서처럼

빠르게 움직이는 환상을 선사합니다. 여기서도 우리는 모든 프로그램

그렇지 않은 경우 동시에 실행됩니다. 멀티 CPU 머신에서는 실제로 실행할  있습니다.

동시에 프로그램. 그러나 이것은 머신의 CPU 또는 코어의 울림으로 제한됩니다.

물리적 코어보다 많은 프로그램을 보유하고 있다면 시스템은 작업 전환으로 되돌아갑니다. 그러나,

 경우 작업 스위칭은  빠릅니다. 왜냐하면 우리는 여러 개의 프로그램을

시스템에 설치된  물리적 코어에 대해 동일한 시간.

분산 처리는 단일 응용 프로그램이 여러 프로그램으로 분할되는 경우입니다. 그때,

이러한  프로그램은 다른 컴퓨터에 설치됩니다 (다른 위치에있을 수도 있음).

 단일 응용 프로그램은 단일 문제를 해결하려고 시도하지만 많은 컴퓨터를 사용하여

같은 시간, 분단  정복 전략. 예를 들어, SETI (Extra Terrestrial 검색

인텔리전스) 무선 전송을 검색하기 위해 에코 (ecibo) 전파 망원경을 사용하고 있습니다.

우주에서.  전파 망원경은 다음의 양보다 많은 용량에서 작동합니다.

SETI 서버가 처리  수있는 컴퓨팅 성능 그들은 흥미로운 분산 처리를 생각해 냈습니다.

해결책. 일반 사용자가 다운로드  수있는 예쁜 화면 보호기를 만들 것입니다.

컴퓨터에 저장합니다.  사람들이 컴퓨터를 사용하지 않을  예쁜 화면

세이버는 SETI 서버를 켜고   있습니다. 그것은 데이터 패킷을 다운로드합니다. 그때,

컴퓨터를 사용하지 않을  SETI k 좋을 것입니다. 컴퓨터가

패킷의 데이터를 완전히 분석하면 결과가 SETI 서버로 반환됩니다. SETI

컴퓨팅 능력이 대폭 향상되었습니다.

 

코드 마이그레이션 처리는 새롭고 실험적입니다. 이것은 컴퓨터 프로그래밍의 미래입니다.

응용 프로그램을   클릭한다고 상상해보십시오.  프로그램은

컴퓨터에 실행할 리소스가 충분하지 않습니다. 어쩌면 당신은 충분한 기억이 없다.

또는 CPU 전원, 또는 당신이  수있는 다른 것들. 운영 체제를 중지하는 대신

응용 프로그램을 시작하고 오류 메시지를 표시하면 운영 체제가

프로그램을 조각으로 나누고 netwm : k / Intemet 사용하여 사용 가능한 다른 컴퓨터를 찾습니다.

자원. 그런 다음 프로그램의 일부를 해당 컴퓨터로 전송합니다. 이제 귀하의 신청서

많은 곳에서 존재합니다. (클라우드는 분산 시스템이 아닙니다.) 코드 마이그레이션

프로그램은 단일 응용 프로그램으로 존재하지만 네트워크에서 사용자가  수없는 부분에 존재합니다

누가 그들의 컴퓨터 자원을 공유하고있다. 누군가가 컴퓨터를 닫거나 필요하다면

 많은 자원을 사용하면 마이그레이션  프로그램이 자동으로 재배포됩니다. 시스템

추가 자원이없는 경우에만 오류를 생성합니다.

보시다시피 런타임 환경은 시스템이기도합니다. 프로그래머는 프로그램을 작성할  있습니다.

예를 들어, 코드 마이그레이션이 어떻게 실행되고 있는지를  필요없이

정확하게. 프로그래머는 런타임 환경을 사용하기 만하면됩니다.

 프로그램은 런타임 환경에서 제공하는 기능을 활용합니다.

많은 하위 시스템.

 

 


'컴퓨터 지식' 카테고리의 다른 글

유닉스 쉘 2편  (0) 2017.08.09
유닉스 운영체제  (0) 2017.08.09
유닉스 쉘  (0) 2017.08.09
인터넷을 예시로  (0) 2017.08.09
시스템같은 소프트웨어  (0) 2017.08.09