소프트웨어가 무엇인지 정의하십시오. PC 소프트웨어 분류

소프트웨어는 컴퓨터의 문제를 해결하기 위해 설계된 프로그램 세트입니다. 프로그램은 순서가 지정된 명령 집합입니다. 소프트웨어 및 하드웨어상호 연결되어 지속적인 상호 작용을 통해 작업합니다. 어느 하드웨어 장치소프트웨어로 제어됩니다.

소프트웨어는 시스템, 애플리케이션, 도구의 세 가지 클래스로 나눌 수 있습니다. 위의 분류는 매우 조건부입니다. 소프트웨어 통합으로 인해 거의 모든 프로그램에 각 클래스의 기능이 포함되었습니다.

시스템 소프트웨어는 컴퓨터 작동을 제어하고, 리소스를 배포하고, 사용자와의 대화를 지원하고, 컴퓨터 유지 관리를 지원하고, 새로운 프로그램 개발을 부분적으로 자동화하도록 설계되었습니다.

시스템 소프트웨어는 일련의 프로그램으로, 그 중 다수는 컴퓨터 및 설명서와 함께 제공됩니다. 시스템 소프트웨어는 운영 체제(OS), 프로그래밍 시스템, 유틸리티 프로그램의 세 가지 주요 부분으로 나눌 수 있습니다.

시스템 전체의 주요 구성 요소 소프트웨어상호 연결된 기능 문제를 해결하는 운영 체제입니다. 개별 구성 요소.

운영 체제에는 4가지 유형이 있습니다.

일괄 처리 운영 체제: 논리적 및 자동 작업 속도가 상대적으로 빠르지만 입력 및 출력 속도는 프로세서 부하가 20~30%였습니다.

시간이 지남에 따라 작업이 분배되는 운영 체제(작업 입력 및 출력 대기열이 구성되고 최대 15명의 사용자가 서비스를 받으며 프로세서는 80-90%로 로드됩니다).

다양한 프로세스를 제어하는 ​​데 사용되는 실시간 운영 체제입니다.

시스템 소프트웨어는 컴퓨터 시스템의 작동을 제어합니다. 일반적으로 시스템 프로그램은 다른 프로그램과 하드웨어 구성 요소 및 사용자 인터페이스 구성의 상호 작용을 보장합니다. 여기에는 운영 체제와 서비스 시스템이 포함됩니다.

응용 소프트웨어는 인간의 전문적 활동(즉, 실천과 관련된)의 응용 문제를 해결하도록 설계되었습니다. 이러한 프로그램의 범위는 산업, 과학 교육 및 엔터테인먼트에 이르기까지 매우 넓습니다. 여기에는 계산, 교육, 모델링 프로그램, 컴퓨터 게임등.

도구 소프트웨어는 모든 유형의 정보 소프트웨어 개발을 위한 것입니다. 이 경우 정보 지원은 소프트웨어 작동에 필요한 사전 준비된 데이터 세트로 이해됩니다. 예를 들어, 모든 최신 프로그램에는 이 프로그램 작업에 대한 도움말이 내장되어 있습니다. 도움말 파일은 정보지원. 도구 소프트웨어에는 편집기(텍스트, 그래픽, 음악), 표 형식 데이터 처리 시스템( 테이블 프로세서), 데이터베이스 관리 시스템, 프로그래밍 언어 번역기, 통합 생산 시스템 등

프로그래밍 시스템은 프로그램 개발 및 디버깅 프로세스를 촉진하고 부분적으로 자동화하도록 설계되었습니다. 이러한 시스템의 주요 구성 요소는 Pascal, C, BASIC 등과 같은 고급 언어의 번역기입니다. 특별한 역할은 어셈블러에 속합니다. 어셈블리 언어로 작성된 프로그램을 기계 지향 프로그램이라고 합니다. 일반적으로 시스템 프로그래머는 어셈블리 언어를 사용합니다.

번역가는 프로그램을 고급 언어에서 다음 언어로 변환합니다. 기계어. 또한 번역가는 물론 구현합니다. 파싱방송되고 있는 프로그램. 또한 수신한 프로그램의 품질을 저하 및 최적화하고, 프로그램에 대한 문서를 발행하고, 기타 여러 서비스 기능을 수행할 수도 있습니다.

어셈블리는 기계 지향 언어로 표현된 프로그램을 기계 언어로 변환합니다.

유틸리티 프로그램은 OS의 기능을 확장합니다. 물론 유틸리티라고 합니다. 예를 들어, 유틸리티를 사용하면 자기 디스크의 별도 섹터에 저장된 16진수 코드의 정보를 확인할 수 있습니다. 출력을 프린터로 정리 텍스트 파일특정 형식으로 파일 보관 및 보관 취소 등

응용 소프트웨어의 구조에서 일반 응용 프로그램과 일반 응용 프로그램을 구별할 수 있습니다. 특수 목적.

범용 응용 소프트웨어는 다양한 범주의 사용자들 사이에서 널리 사용되는 일련의 프로그램입니다. 그중 가장 유명한 것은 텍스트 편집기, 그래픽 시스템, 스프레드시트, 데이터베이스 관리 시스템 등입니다.

텍스트 편집기를 사용하면 준비가 가능합니다. 텍스트 문서: 기술적인 설명, 공식 편지, 기사 등 가장 유명한 텍스트 편집기는 다음과 같습니다.

어휘, 쓰기, 단어.

그래픽 시스템은 다양하며 그 기능도 다양합니다. 그중에는 비즈니스 그래픽 시스템( 마이크로 소프트 파워 포인트, Lotus Freelance Graphics), 간단히 그래픽 편집기(Paintbrush)라고도 불리는 예술적인 그래픽, 엔지니어링 그래픽 및 컴퓨터를 이용한 디자인(Autodesk AutoCad), 사진 이미지 처리 시스템( 어도비 포토샵), 범용 그래픽 시스템(CorelDRAW!)도 있습니다.

스프레드시트(ET) 프로그램을 사용하면 수치 계산과 관련된 광범위한 문제를 해결할 수 있습니다. 이 클래스에서 가장 널리 사용되는 프로그램은 Supercalk, Microsoft Excel 및 Lotus 1-2-3입니다.

데이터베이스 관리 시스템(DBMS)은 일련의 데이터를 결합하여 단일한 데이터를 생성하도록 설계되었습니다. 정보 모델물체. 이 프로그램을 사용하면 정리된 정보를 축적, 업데이트, 수정, 삭제, 정렬할 수 있습니다. 특별한 수단데이터뱅크 형태로. 가장 일반적인 DBMS: dBase III Plus, FoxBase+, Clipper, Oracle, Access, FoxPro, Paradox.

위에 나열된 시스템 외에도 범용 응용 프로그램 소프트웨어에는 통합 시스템도 포함되어야 합니다. 이러한 시스템은 텍스트 편집기, 그래픽 시스템, 스프레드시트 및 데이터베이스 관리 시스템의 기능을 결합합니다. 통합 시스템의 주요 장점 별도의 시스템범용 응용 프로그램 소프트웨어는 사용자를 위해 통일된 운영 규칙을 생성한다는 것입니다. 즉, 텍스트로 작업할 때와 스프레드시트로 작업할 때 모두 단일 인터페이스를 갖는다는 것입니다. 그중 가장 유명한 것은 Microsoft Works, Microsoft Office, Lotus SmartSuite, 완벽한 사무실.

특수 목적의 응용 프로그램은 특정 사용자 활동에 사용됩니다.

특정 시스템의 기능은 목적에 따라 다릅니다. 예를 들어, 교육 시스템의 경우 이는 다음과 같습니다. 도구개발을 위해 컴퓨터 수업(하이퍼미디어 및 하이퍼텍스트 시스템, 저작 및 기타 시스템), 교육 목적을 위한 시뮬레이션 모델링 프로그램, 학교 일정 개발 및 유지를 위한 프로그램, 교육학 도구 다양한 목적으로등등

특수 목적 응용 프로그램에는 통계 데이터 처리, 회계, 건물 구조 계산 등에 널리 사용되는 응용 프로그램 패키지(APP)도 포함될 수 있습니다. 컴퓨터에 다양한 APP가 존재하면 문제를 해결할 수 있습니다. 거의 프로그래밍 없이 간단한 응용 문제의 상당 부분을 차지합니다. 이 경우 특정 문제를 해결하기 위한 작업은 특정 문제 지향 언어로 지시어 형식으로 작성되어 컴퓨터에 전달됩니다.
사용된 문헌 목록
컴퓨터 프로그램 시스템 도구
1. 변호사 및 경제학자를 위한 정보학 / Simonovich S.V. 및 기타 - St. Petersburg: Peter, 2001. - 688 p.
2. Figurnov V.E. 사용자를 위한 IBM PC. 짧은 코스. 에드. 7일. G.: INFRA-M, 1997, 432p.
3. 유 샤프린. 컴퓨터 과학. 정보 기술: 2시간 이내 G.: 기초 지식 연구실, 2001.

아무리 '스마트'한 전자 컴퓨터나 개인용 컴퓨터라도 소프트웨어가 탑재되지 않으면 쓸모없는 '철 조각'으로 남을 것입니다. 이것이 바로 그들이 일하고 성취하게 만드는 것입니다. 특정 행동: 계산하고, 텍스트, 사진 및 비디오를 표시하고, 소리를 내고, 음악을 재생하고, 기타 장치를 제어합니다. 컴퓨터가 수행하는 모든 작업은 다음에 따라 수행됩니다. 특정 프로그램, 사람이 개발했으며 전자 컴퓨터를 관리하기 위한 이러한 프로그램 세트를 소프트웨어라고 합니다.

소프트웨어 개념

실제로 이 프로그램은 PC가 특정 작업을 수행하는 단계로 구성됩니다. 예를 들어 사용자가 키보드에서 입력한 문자를 받아 화면에 표시하고, 프린터가 종이 시트에 텍스트를 인쇄하도록 하는 등의 작업을 수행합니다. 이러한 각 단계는 특수한 기계어로 인코딩되어 “명령어”라고 불리며, 이러한 명령의 집합은 다음과 같습니다. 프로그램 코드.

처음으로 시스템의 미리 결정된 상태는 기본 명령을 순차적으로 실행하여 하나의 안정된 상태에서 다른 안정된 상태로 전송함으로써 달성될 수 있다는 아이디어가 영국의 수학자에 의해 제안되었습니다. 앨런 튜링. 내 에세이에서는 “Entscheidungsproblem(결정 문제)에 적용하여 계산 가능한 숫자”그는 기본 작업을 수행하고 이를 하나의 고정 상태에서 다른 고정 상태로 전송할 수 있는 추상 기계(자동 장치)인 이론적 모델을 만들었습니다. 결과적으로 기계는 간단하고 기본적인 작업을 수행할 수 있었습니다. 이러한 자동 장치는 이후 문헌에서 이름을 받았습니다. "튜링 머신". 주요 아이디어는 전체 고정 세트(프로그램)에서 유한한 특정 명령 세트를 실행하여 이 자동 장치의 사전 결정된 상태를 달성할 수 있다는 수학적 증명이었습니다. 이 이론 덕분에 프로그래밍과 같은 과학이 탄생했습니다.

따라서 프로그래머(소프트웨어를 개발하는 사람)는 본질적으로 자신이 작성한 프로그램 코드를 사용하여 개인용 컴퓨터를 제어하고 키보드에서 입력한 문자를 읽고 음악을 재생하고 비디오를 재생하도록 강제합니다.

소프트웨어 유형

오늘은 엄청나게 많은 양의 다양한 프로그램, 산술 또는 엔지니어링 계산, 그림, 프로그래밍, 음악 또는 영화 재생 등 완전히 다른 기능을 수행하도록 설계되었습니다. 그러나 동시에 각 기능은 개인용 컴퓨터에서 자체적으로 실행되지 않고 관례대로 실행됩니다. 예를 들어 하나 또는 다른 운영 체제를 실행하는 것입니다.

합리적인 질문이 나온다: “이를 우회하여 각 프로그램을 직접 시작할 수 없는 이유는 무엇입니까? 운영 체제, 프로그램이 컴퓨터를 제어할 수 있는 코드 집합이라면?”

사실, 물론 가능하며, 이는 예를 들어 CNC 기계(수치 기계)에서도 실행됩니다. 프로그램 제어), 생산 중인 자동 기계 등에 있지만 이러한 동일한 운영 체제가 개인용 컴퓨터 및 심지어 메인프레임 컴퓨터용으로 개발된 데에는 몇 가지 점이 있습니다.

사실 표준 기계의 경우 조작기 확장, 공작물 가져 오기, 회전, 공작물을 올바른 위치에 배치하는 등 일련의 간단한 순차적 작업을 수행합니다. 그런 다음 작업이 반복됩니다. 기계는 항상 동일한 하나의 프로그램에 따라 동일한 작업을 수행합니다.

PC의 경우, 사용자는 예를 들어 로드된 프로그램을 그리는 것뿐만 아니라 동시에 음악을 듣고 싶어하며 오늘날 말하는 것처럼 가족 및 친구들과 "연락"하고 싶어합니다. , 즉 동시에 동시에 하나의 프로그램으로 작업하지 않고 여러 프로그램으로 동시에 작업합니다.

이 외에도 순전히 실용적인 또 다른 점이 있습니다. 운영 체제 없이 독립적으로 작동할 수 있는 PC용 프로그램을 개발할 때 디스크 읽기 및 쓰기, 키보드의 입/출력, 컴퓨터 하드웨어 작업 등 컴퓨터 하드웨어 작업의 모든 기능을 하나의 프로그램으로 설명해야 합니다. 모니터 등 결과적으로 엄청난 시간 비용이 듭니다. 큰 사이즈소프트웨어, 하드웨어 플랫폼에 대한 의존성, 다수의 오류 존재 및 기타 여러 부정적인 측면.

운영 체제는 이러한 "일상적인" 작업의 대부분을 처리하는 동시에 "멀티태스킹"을 제공합니다. 즉, 사용자는 개인용 컴퓨터에서 하나가 아닌 여러 프로그램을 동시에 시작하고 실행할 수 있습니다.

따라서 모든 소프트웨어는 세 가지 유형으로 나눌 수 있습니다.

  1. 시스템 소프트웨어;
  2. 응용 소프트웨어;
  3. 도구 소프트웨어.

시스템 소프트웨어

이는 PC 하드웨어(프로세서, RAM, 입/출력 장치 등)를 제어하는 ​​프로그램 세트입니다. 그래픽 시스템, 네트워크 장치 등. 특히 이러한 소프트웨어에는 다음이 포함됩니다.

  • OS;
  • 드라이버- 제공하는 소규모 프로그램 올바른 작동하나 이상의 장비(그래픽, 네트워크, 사운드 카드, 컨트롤러 등);
  • 추가 프로그램, 운영 체제의 기능을 확장합니다.

시스템 소프트웨어와 다른 유형의 주요 차이점은 실용적이거나 특정 작업을 수행하는 것을 목표로 하지 않는다는 것입니다. 이는 다른 프로그램의 올바른 작동만을 보장하며, 컴퓨터 하드웨어와 사용자 프로그램 코드 사이의 일종의 "계층"으로서 올바른 상호 작용을 보장합니다.

응용 소프트웨어

이 종류의 소프트웨어는 가장 광범위합니다. 우리가 일상생활에서 사용하는 대부분의 프로그램이 바로 이것이다. 브라우저, 오디오 및 비디오 파일 플레이어, 그래픽 및 텍스트 편집기, 바이러스 백신 패키지, 회계 및 다양한 계산을 수행하는 기타 프로그램 - 특정 작업, 기능 및 사용자 작업을 수행하도록 설계된 많은 프로그램과 마찬가지로 이 모든 것을 응용 프로그램 소프트웨어라고 합니다. .

도구 소프트웨어

이러한 유형의 소프트웨어는 매우 구체적인 소프트웨어입니다. 한편으로는 응용형으로 분류할 수도 있지만, 다른 한편으로는 그 적용 및 용도의 특성상 별도의 유형으로 분리한다(더 정확하게는 하위형이라고 부르는 것이 더 정확하겠지만) 적용).

도구 소프트웨어 프로그램의 주요 기능은 프로그램 코드를 설계, 생성, 디버그 및 유지 관리하는 기능을 제공하는 것입니다. 즉, 본질적으로 고급 언어의 컴파일러, 디버거, 편집기 등 다양한 프로그래밍 환경입니다.

사실은 어떤 컴퓨터, 컴퓨팅, 디지털 장치도 우리의 말을 "이해"하지 못한다는 것입니다. 이러한 장치는 자체 "기계 언어"로 작동합니다. 바이너리 코드. 하지만 " 기계어 코드"프로그램 작성에 있어 특정 어려움이 있습니다. 따라서 소프트웨어의 이해하기 쉬운 단어인 "고급 언어"를 "기계 코드"로 번역하는 전문 소프트웨어가 개발되었습니다. 이러한 프로그램을 호출합니다. 컴파일러그리고 통역사.

차이점은 컴파일러를 사용하면 실행 준비가 된 파일을 얻을 수 있고 컴퓨터 자체의 도움을 받아 컴퓨터에서 실행할 수 있는 파일인 인터프리터를 얻을 수 있다는 것입니다. 그런데 고급 언어로 된 명령을 포함하는 작성된 프로그램 텍스트를 호출했습니다. « 원천» (컴퓨터 속어 - "소스 코드").

공평하게 말하자면, 프로그램 파일에는 "2진수" 숫자 체계가 아닌 일반적으로 "16진수" 숫자 체계의 기계어 코드가 포함되어 있다는 점에 유의해야 합니다. 특별한 시스템 프로그램, 운영 체제에 내장된 "명령 프로세서"는 "16진수" 코드를 "2진수"로 "변환"합니다. 크기를 줄이기 위해 이렇게 했습니다. 프로그램 파일, "16진수" 표기법이 훨씬 더 간결하기 때문입니다.

소프트웨어 배포

소프트웨어 배포에는 이 소프트웨어를 양도하고 사용하는 당사자의 모든 권리와 의무를 명확하게 규정하는 특별 문서가 함께 제공됩니다.

사용 및 배포 방법에 따라 모든 소프트웨어는 일반적으로 다음과 같이 나뉩니다.

  1. 무료 소프트웨어. 원칙적으로 자유롭게 복사하고 무료로 배포할 수 있습니다. 동시에 배포자는 소프트웨어 자체에 대한 수수료가 아니라 예를 들어 매체, 데이터 전송 채널 등에 대한 녹음 서비스에 대해 수수료를 청구할 수 있습니다.
  2. 자유 소프트웨어. "무료" 프로그램의 경우와 마찬가지로 해당 프로그램에 대해 아무도 비용을 청구하지 않지만 첫 번째 프로그램과의 주요 차이점은 프로그램 코드를 변경하고 변경 사항과 함께 결과 소프트웨어의 새 버전을 배포할 수 있다는 것입니다. 따라서 "무료" 소프트웨어는 소스 코드와 함께 배포됩니다.
  3. 오픈 소스. 라이센스 조건에 따라 오픈 소스 코드로 배포되어야 합니다.
  4. 폐쇄형 소프트웨어. 이는 작성자의 사유 재산이며 특정 조건에 따라 엄격하게 배포됩니다. 이는 개발자가 사용을 위해 요구할 수 있는 법률에 위배되지 않는 금전적 보상 또는 기타 유형의 보상일 수 있습니다. 예를 들어, 프로그램을 사용하려면 사이트에 등록해야 하는 셰어웨어 배포일 수 있습니다. 원칙적으로 소스코드 없이 배포됩니다.

결론

소프트웨어는 다음 중 하나입니다. 필요한 조건모든 컴퓨팅(또는 현재 디지털) 시스템의 기능. 그리고 그것이 무엇인지는 중요하지 않습니다. 장비에 내장되어 있는지, 장치에서 로드되는지 여부는 중요하지 않습니다. 외부 미디어, 어쨌든 그것만으로 올바른 작동컴퓨터 시스템은 필요한 작업을 수행합니다.

소프트웨어 작업에 대한 지식과 능력은 모든 사용자에게 전제 조건입니다. 쉬운 문제, 5분 안에 해결되는 문제는 혼란스럽고 시간 손실뿐만 아니라 금전적 손실로 이어질 것입니다.

쌀. 100.

프로그램들순서가 지정된 명령 시퀀스입니다. 어떤 목표라도 컴퓨터 프로그램- 하드웨어 관리. 컴퓨터 소프트웨어의 구성은 다음과 같습니다. 소프트웨어 구성.프로그램 사이에는 물론 물리적 노드와 블록 사이에도 관계가 있습니다. 많은 프로그램은 다른 하위 수준 프로그램에 의존하여 작동합니다. 프로그램 간 인터페이스.소프트웨어 계층은 피라미드 구조입니다(그림 100). 각 후속 레벨은 이전 레벨의 소프트웨어를 기반으로 합니다.

소프트웨어 계층을 살펴보겠습니다.

기본 수준의

최대 낮은 수준소프트웨어. 기본 하드웨어와의 상호 작용을 담당합니다. 기본 소프트웨어는 ROM 칩에 저장됩니다. 프로그램과 데이터는 생산 중에 ROM 칩에 기록됩니다. 작동 중에 기본 소프트웨어를 변경하는 것이 기술적으로 가능한 경우에는 ROM 칩 대신 재프로그래밍 가능한 읽기 전용 메모리 장치(PROM - Erasable and Programmable Read Only Memory, EPROM)가 사용됩니다.

시스템 수준

시스템 수준은 과도기적입니다. 이 수준에서 작동하는 프로그램은 다른 컴퓨터 시스템 프로그램과 기본 수준 프로그램 및 하드웨어와의 직접 상호 작용을 보장합니다. '중개' 기능을 수행합니다. 특정 장치와 상호 작용하는 특정 프로그램을 호출합니다. 장치 드라이버- 시스템 수준 소프트웨어의 일부입니다.

시스템 수준 프로그램의 또 다른 클래스는 사용자 상호 작용을 담당합니다. 그 덕분에 그는 컴퓨터 시스템에 데이터를 입력하고, 운영을 관리하고, 자신에게 편리한 형식으로 결과를 받을 수 있는 기회를 얻었습니다. 이러한 소프트웨어 도구를 사용자 인터페이스 도구.

시스템 수준 소프트웨어 형태의 총체 운영 체제 커널(OS) 컴퓨터의. OS의 존재는 가능한 필수 조건입니다. 실무컴퓨터를 가진 남자.

서비스 수준

이 수준의 소프트웨어는 기본 수준 및 시스템 수준 프로그램과 상호 작용합니다. 유틸리티 프로그램의 주요 목적(이를 유틸리티 프로그램이라고 함) 유용)컴퓨터 시스템의 점검, 조정 및 구성 작업을 자동화하는 것으로 구성됩니다. 디스크 조각 모음, 시스템 복원 등과 같은 일부 유틸리티(유지 관리 프로그램)는 처음에 OS에 포함되어 있습니다. (Windows에서는 유틸리티 범주에 있는 프로그램입니다.)

애플리케이션 레이어

응용 프로그램 수준 소프트웨어는 특정 작업장에서 특정 작업을 수행하는 데 도움이 되는 일련의 응용 프로그램입니다.

응용 소프트웨어에포함하다:

  • - 텍스트 편집기- 텍스트 생성 및 편집을 위해 설계되었습니다. 추가 기능입력 및 편집 프로세스를 자동화하는 것으로 구성됩니다. 예를 들어 메모장 프로그램이 있습니다.
  • - 워드 프로세서.워드 프로세서와 텍스트 편집기의 주요 차이점은 텍스트를 입력하고 편집할 수 있을 뿐만 아니라 그래프, 수식, 표 및 기타 개체를 삽입할 수도 있다는 것입니다. 고전적인 예 워드 프로세서마이크로소프트 워드입니다;
  • - 그래픽 편집기 - 그래픽 이미지를 생성하거나 처리하기 위한 것입니다.

래스터 편집기, 벡터 편집기생성 및 처리를 위한 소프트웨어 3D 그래픽(ZO 편집자). 가장 간단한 예 래스터 그래픽 편집기,모든 컴퓨터에 존재하는 그림판입니다. 래스터 이미지 jpeg, jpg, png, gif, bmp 등 여러 유형의 확장자가 있습니다. 그래픽의 두 번째 예 래스터 편집기- 어도비 포토샵. Photoshop에는 엄청난 기능이 있으며 많은 수의 지원이 있습니다. 플러그인(메인 프로그램에 동적으로 연결되고 해당 기능을 확장 및/또는 사용하도록 설계된 소프트웨어 모듈) 및 도구. 다양한 분야에서 일할 수 있게 해줍니다. 컬러 모델그리고 다양한 파일 확장자를 가지고 있습니다.

벡터 그래픽 편집기 CorelDRAW Graphics Suite의 CorelDRAW는 다양한 유형의 그래픽과 애니메이션을 제작하기 위한 강력한 전문 제품입니다. 그럼에도 불구하고 내장된 고급 교육 및 도움말 시스템 덕분에 해당 분야의 초보자도 프로그램을 매우 쉽게 익힐 수 있습니다. 벡터 그래픽.

벡터 그래픽 편집기의 두 번째 예는 무료로 제공되는 Inkscape 프로그램입니다. 그녀는 좋은 기회고품질 일러스트레이션을 만들거나 포스터를 그리는 데 사용됩니다. 이것 프로그램이 적당해요초보 사용자를 위한 벡터 그래픽 생성 및 처리와 숙련된 사용자를 위한 진지한 작업에 적합합니다.

3D 그래픽 편집기영화, 컴퓨터 게임, 그래픽 디자인, 애니메이션 제작에 사용됩니다. 시각 효과. 이러한 프로그램은 기계공학, 건축, 소비재 생산 등의 분야에서 널리 사용됩니다. 예를 들어 다음을 인용할 수 있습니다. 소프트웨어 제품 Autodesk Maya, Autodesk 3ds Max와 같은:

- 데이터베이스 관리 시스템(DBMS). DBMS의 주요 기능은 빈 데이터베이스 구조 생성, 이를 채우기 위한 도구 제공 또는 다른 데이터베이스의 테이블에서 데이터 가져오기, 데이터 액세스 기능 제공, 검색 및 필터링 도구 제공입니다.

DBMS를 다음과 같이 나누는 것이 일반적입니다. 데스크탑그리고 산업.데스크톱 DBMS의 예는 Access, FoxPro입니다. 산업용 DBMS는 데이터 생성에 중점을 두고 있습니다. 정보 시스템보안 요구 사항이 증가한 대용량 정보를 처리하는 작업(예: Oracle, MS SQL Server):

  • - 스프레드시트- 대표하다 소프트웨어 도구, 저장용 다양한 방식데이터를 수집하고 그에 대한 계산을 수행합니다. 스프레드시트 작업에 가장 널리 사용되는 도구는 Excel입니다.
  • - CAD(컴퓨터 지원 설계 시스템)- 설계 및 엔지니어링 작업의 자동화를 위해 설계되었습니다. 그들은 기계 공학, 도구 제작 및 건축에 사용됩니다.

세계에서 가장 널리 사용되는 CAD 프로그램은 2차원 및 3차원 컴퓨터 지원 설계 및 도면 시스템인 AutoCAD(Computer-Aided Design)입니다. 러시아 CAD 시스템의 예로는 생산의 설계 및 기술 준비를 자동화하도록 설계된 ADEM(Automated Design Engineering Manufacturing) 시스템이 있습니다.

  • - 데스크탑 출판 시스템- 뉴스레터, 컬러 브로셔, 카탈로그, 참고서 등 광범위한 기본 유형의 문서에 대한 전자 레이아웃을 수행할 수 있습니다. 이러한 프로그램의 예는 다음과 같습니다: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher;
  • - 전문가 시스템- 지식 기반에 포함된 데이터를 분석하고 사용자 요청에 따라 권장 사항을 발행하도록 설계되었습니다.

전문가 시스템은 어려운 상황(시간, 정보 또는 경험 부족)에서 전문가나 관리자가 정보에 입각한 결정을 내릴 수 있도록 적격한 조언(조언, 힌트)을 제공할 수 있습니다. 전문가 시스템의 지식 기반에는 주제 영역(의학, 법률 등)에 대한 정보와 규칙(알려진 사실에 적용하여 새로운 사실을 얻을 수 있는 지침 세트)이 포함되어 있습니다. 대표적인 것이 소프트웨어 전문가 시스템이다. 클립(영어: 언어 통합 생산 시스템 포함);

  • - 웹 편집기(HTML 편집기)- 최소한의 시간으로 간단하고 복잡하며 아름답게 디자인된 웹 페이지를 만들 수 있습니다. 세계에서 가장 인기 있는 HTML 편집기 중 하나는 어도비 프로그램드림위버;
  • - 브라우저 (브라우저)- 웹사이트 보기용으로 설계된 소프트웨어입니다. 가장 인기 있는 프로그램은 인터넷 익스플로러, 모질라 파이어 폭스, 구글 크롬,오페라;
  • - 회계 시스템 (회계 자동화 시스템)- 생산, 경제 및 금융 활동 결과에 대한 정기 보고서를 준비하기 위해 기업 회계 문서 및 회계 준비를 자동화하도록 설계되었습니다.

대기업의 회계는 회계뿐만 아니라 생산 관리도 자동화할 수 있는 시스템인 최신 ERP(Enterprise Resource Planning System)를 사용하여 수행됩니다. 이러한 목적을 위해 일반적으로 SAP, Oracle E-Business Suite, 1C:Enterprise, Microsoft Dynamics NAV(Navision), ERP Galaktika 등과 같은 시스템이 사용됩니다.

- 금융 분석 시스템- 이미 축적, 검증된 통합 재무지표를 활용하도록 설계되었습니다. 이 경우 몇 가지 기본 기능성 유사한 프로그램: 정보의 체계화, 분석 지표 및 계수 계산, 프리젠테이션 품질 보고서 생성.

재무 분석 시스템에는 사업 계획 개발, 사업 개발 설계, 모든 산업 분야의 기업 및 활동 규모에 대한 투자 프로젝트 분석 문제를 해결할 수 있는 Project Expert와 같은 프로그램이 포함되어 있습니다.

Audit Expert는 기업의 재무상태를 분석하는 프로그램입니다. 재무제표시간, 구조, 재무 분석을 수행하고, 다양한 재무 지표를 계산하고, 분석 결과에 따라 보고서 및 결론을 얻을 수 있습니다.

유틸리티 소프트웨어에포함하다:

- 파일 관리자( 파일 관리자) - 이 클래스의 프로그램을 사용하면 파일 작업과 관련된 대부분의 작업(파일 복사, 이동, 이름 바꾸기, 삭제, 검색)이 수행됩니다.

이 프로그램 클래스의 대표적인 대표자는 FAR Manager, 총 사령관,FreeComander;

- 데이터 압축 도구(아카이버)- 더 쉬운 전송이나 컴팩트한 저장을 위해 데이터를 하나의 아카이브 파일로 압축하는 프로그램입니다.

가장 인기 있는 프로그램으로는 ARJ, RKRAK, LHA, ICE, HYPER, ZIP, RAC, ZOO, RAR이 있습니다.

- 진단 도구- 컴퓨터 또는 개별 구성 요소를 테스트하기 위한 것입니다. 문제 자세한 정보상태, 기능, 가능한 소프트웨어 및 물리적 문제에 대해 설명합니다.

진단- 문제 해결 및 후속 제거를 위한 체계적인 방법입니다. 진단 프로그램 중에서 SiSoftware Sandra(영어: System ANalyser, Diagnostic and Reporting Assistant)를 강조할 수 있습니다. 진단 프로그램. 컴퓨터 하드웨어 및 소프트웨어에 대한 거의 모든 정보를 제공합니다. 또 다른 프로그램은 비디오 시스템 성능 측정에만 초점을 맞춘 3DMark입니다.

통제 수단(모니터링)- 발생하는 프로세스를 모니터링할 수 있습니다. 컴퓨터 시스템. 위험할 경우 경고하거나 컴퓨터를 끄거나 특정 장치의 작동 모드를 변경할 수 있습니다.

예를 들어 여러 열 센서에서 온도를 측정하고, 프로세서 코어와 마더보드의 전압을 확인하고, 팬 속도를 제어할 수 있는 MB 프로브 프로그램이 있습니다. 하드 드라이브 온도, 속성 내부 시스템 S.M.A.R.T. 진단은 물론 마더보드 팬 속도 센서의 전압도 SpeedFan 유틸리티를 사용하여 표시할 수 있습니다.

  • - 통신수단(통신프로그램)- 멀리 있는 사람들과 실시간으로 소통할 수 있습니다. 통신 프로그램에는 ICQ, Skype, Yahoo 마사지기, 구글톡등등;
  • - 컴퓨터 보안 도구- 바이러스 백신, 방화벽, 데이터 암호화 프로그램 및 스파이웨어 방지 프로그램이 포함됩니다.

이 카테고리의 바이러스 백신 소프트웨어에는 Kaspersky Virus가 포함되어 있습니다. 제거 도구- 컴퓨터에서 악성 코드를 검사하기 위해 Kaspersky Lab 전문가가 개발한 프로그램입니다. Kaspersky A VP 도구는 바이러스, 트로이 목마, 웜, 스파이웨어 및 애드웨어, 모든 유형의 루트킷 및 유사한 악성 프로그램을 찾아 격리합니다. 또 다른 인기 프로그램은 Dr.Web Curelt 입니다! - Windows를 실행하는 컴퓨터를 검사, 탐지 및 제거(치료)하기 위한 무료 바이러스 백신입니다.

예로서 방화벽 Comodo 같은 프로그램을 사용하시면 됩니다 인터넷 보안- 바이러스, 트로이 목마, 기타 맬웨어 및 해커 공격으로부터 컴퓨터를 포괄적으로 보호하기 위한 무료 패키지입니다. 그 행동은 바이러스, 웜, 스파이웨어, 중요한 시스템 파일 수정, 내장된 작업 스케줄러를 사용하면 일정에 따라 스캔할 수 있으며 일일 기능이 있습니다. 자동 업데이트바이러스 데이터베이스 등

SUPERAntiSpyware Free - 스파이웨어, 애드웨어 및 맬웨어, 웜, 루트킷(공격자의 존재 흔적을 숨기는 프로그램 또는 악성 코드시스템) 및 기타 의심스러운 소프트웨어. 이 스파이웨어 방지 프로그램을 사용하면 완벽하고 사용자 정의 가능한 검사를 수행할 수 있습니다. 하드 드라이브, 휴대용 장치, 메모리, 레지스트리, 개별 폴더 및 파일.

시험 문제 및 과제

  • 1. 프로그램이란 무엇입니까? "소프트웨어 구성"의 개념을 정의합니다.
  • 2. 소프트웨어 계층의 다이어그램을 그립니다.
  • 3. 소프트웨어의 기본 수준을 설명하십시오.
  • 4. 장치 드라이버란 무엇입니까? 시스템 수준 프로그램의 목적을 설명합니다.
  • 5. 유틸리티의 목적은 무엇입니까? 시스템 수준 프로그램의 목적을 설명하세요. 그러한 프로그램의 예를 들어보십시오.
  • 6. 다음으로 분류된 프로그램을 나열하십시오. 응용 수준소프트웨어.
  • 7. 그래픽 편집자와 관련된 어떤 종류의 프로그램을 알고 있습니까?
  • 8. 데이터베이스 관리 시스템의 주요 기능을 설명하십시오. 이 수업에 포함된 프로그램의 예를 들어보세요.
  • 9. 전문가 시스템의 특징은 무엇입니까?
  • 10. 재무 분석 시스템의 목적을 확장합니다. 이 수업에 포함된 프로그램의 예를 들어보세요.
  • 11. 유틸리티 소프트웨어와 관련된 프로그램을 나열하십시오.
  • 12. 파일에 대한 기본 작업을 수행할 수 있는 프로그램 클래스는 무엇입니까? 예를 들다.
  • 13. 컴퓨터 시스템 진단 및 모니터링을 위해 설계된 프로그램의 차이점은 무엇입니까?
  • 14. 컴퓨터 보안 도구란 무엇입니까? 관련 프로그램을 나열하고 설명하십시오.
  • 15. 컴퓨터에 설치된 소프트웨어의 고려된 유형을 포함하는 표를 개발하십시오.

컴퓨터 소프트웨어

소프트웨어란 무엇인가

현대 PC의 성능은 너무나 뛰어나서 점점 더 많은 사람들이 업무, 학습, 일상 생활에서 PC를 사용하고 있습니다. 가장 중요한 품질 현대 컴퓨터사용자에 대한 "친절함"입니다. 사람과 컴퓨터 사이의 통신은 간단하고 시각적이며 이해하기 쉬워졌습니다. 컴퓨터 자체는 사용자에게 주어진 상황에서 무엇을 해야 할지 알려주고 어려운 상황에서 벗어날 수 있도록 도와줍니다. 이는 컴퓨터 소프트웨어 덕분에 가능합니다.

다시 컴퓨터와 사람의 비유를 사용해 보겠습니다. 갓 태어난 사람은 아무것도 모르고 아무것도 할 수 없습니다. 그는 자신의 기억 속에 정보를 개발, 학습, 축적하는 과정에서 지식과 기술을 습득합니다. 초소형 회로, 전선, 회로 기판 및 기타 것들로 공장에서 조립되는 컴퓨터는 갓 태어난 인간과 같습니다. 소프트웨어를 컴퓨터 메모리에 로딩하는 것은 아이를 가르치는 과정과 유사하다고 말할 수 있습니다. 소프트웨어는 프로그래머가 만듭니다.

컴퓨터 장기 메모리의 모든 장치에 저장된 전체 프로그램 세트가 컴퓨터를 구성합니다. 소프트웨어(에 의해).

컴퓨터 소프트웨어는 지속적으로 업데이트, 개발 및 개선됩니다. 가격 설치된 프로그램최신 PC에서는 종종 비용을 초과합니다. 기술 장치. 현대 소프트웨어를 개발하려면 프로그래머의 매우 높은 자격이 필요합니다.

소프트웨어 유형

컴퓨터 소프트웨어에는 꼭 필요한 부분이 있는데, 그것 없이는 아무 것도 할 수 없습니다. 그것은이라고 시스템 소프트웨어. 구매자는 메모리나 프로세서만큼 컴퓨터 작동에 중요한 시스템 소프트웨어가 장착된 컴퓨터를 구입합니다. 시스템 소프트웨어 외에도 컴퓨터 소프트웨어에는 다음이 포함됩니다. 응용 프로그램그리고 프로그래밍 시스템.

컴퓨터 소프트웨어는 다음과 같이 구분됩니다.

    - 시스템 소프트웨어;
    - 응용 소프트웨어;
    - 프로그래밍 시스템.

시스템 소프트웨어와 프로그래밍 시스템에 대해서는 나중에 논의하겠습니다. 이제 응용 프로그램 소프트웨어에 대해 알아 보겠습니다.

응용 소프트웨어 구성

사용자가 프로그래밍에 의존하지 않고 자신의 정보 문제를 해결할 수 있는 프로그램을 응용 프로그램이라고 합니다.

일반적으로 모든 사용자는 거의 모든 사람에게 필요한 일련의 응용 프로그램을 선호합니다. 그들 불리는 범용 프로그램. 여기에는 다음이 포함됩니다.

    다양한 텍스트를 준비하고, 그림을 만들고, 그림을 그릴 수 있는 텍스트 및 그래픽 편집기; 즉, 쓰고, 그리고, 그리고 그리십시오.

    컴퓨터를 모든 주제에 대한 참고서로 바꿀 수 있는 데이터베이스 관리 시스템(DBMS)

    실제로 매우 일반적인 스프레드시트 계산을 구성할 수 있는 테이블 프로세서입니다.

    컴퓨터 네트워크의 데이터에 연결된 다른 컴퓨터와 정보를 교환하도록 설계된 통신(네트워크) 프로그램입니다.

컴퓨터 게임은 매우 인기 있는 응용 소프트웨어 유형입니다. 대부분의 사용자는 컴퓨터와의 통신을 시작합니다.

또한, 많은 수의 특수 목적 응용 프로그램전문적인 활동을 위해. 흔히 응용 프로그램 소프트웨어 패키지라고 합니다. 예를 들어, 회계 부서에서 수행되는 급여 및 기타 계산을 수행하는 회계 프로그램입니다. 디자이너가 다양한 기술 장치에 대한 디자인을 개발하는 데 도움이 되는 컴퓨터 지원 디자인 시스템; 복잡한 문제를 해결할 수 있는 패키지 수학 문제프로그래밍 없이; 다양한 학교 과목 등에 대한 교육 프로그램.

질문 및 작업

    1. 컴퓨터 소프트웨어란 무엇입니까?
    2. 응용 소프트웨어는 어떤 작업을 수행합니까?
    3. 범용 응용 프로그램의 주요 유형을 나열하십시오.
    4. 특수 목적 애플리케이션이란 무엇입니까?

시스템 소프트웨어 및 프로그래밍 시스템 정보

운영 체제란 무엇입니까?

응용 프로그램이 필요한 이유를 이해하는 것은 어렵지 않습니다. 시스템 소프트웨어란 무엇입니까?

시스템 소프트웨어의 주요 부분은 다음과 같습니다. 운영 체제(OS).

운영 체제는 RAM, 프로세서, 컴퓨터 등을 관리하는 일련의 프로그램입니다. 외부 장치사용자와 대화하는 파일.

운영 체제에는 수행할 작업이 많으며 거의 ​​항상 정상적으로 작동합니다. 예를 들어 응용프로그램을 실행하려면 다음 위치에 있어야 합니다. 외부 메모리(디스크에), 배치 , 거기서 찾는 중 자유로운 장소, 프로세서를 "시작"하여 프로그램을 실행하고, 실행 중에 모든 기계 장치의 작동을 모니터링하고, 오류가 발생한 경우 진단 메시지를 표시합니다. 운영 체제는 이러한 모든 문제를 처리합니다.

개인용 컴퓨터의 일반적인 운영 체제 이름은 MS-DOS, Windows, Linux입니다.

대화형 모드

작동 중에는 응용 프로그램 자체가 사용자와의 통신을 구성하지만 프로그램이 작업을 완료하면 운영 체제가 사용자와 통신을 시작합니다. 이 의사소통은 다음과 같은 형식으로 이루어집니다.

OS는 특정 형식으로 프롬프트를 표시합니다. 이에 대한 응답으로 사용자는 기계에서 원하는 것을 정의하는 명령을 실행합니다. 이는 새로운 명령을 실행하는 명령일 수 있습니다. 응용프로그램, 파일에 대한 일부 작업(파일 삭제, 복사 등)을 수행하는 명령, 현재 시간이나 날짜 등을 보고하는 명령 등입니다. 다음 사용자 명령을 실행한 후 운영 체제는 다시 프롬프트를 표시합니다.

이 작동 모드를 호출합니다. 대화형 모드. OS 덕분에 사용자는 결코 운명에 좌우된다는 느낌을 받지 않습니다. 모든 운영 체제 개인용 컴퓨터대화 모드에서 사용자와 작업합니다. 대화 모드는 종종 호출됩니다. 대화형 모드.

서비스 프로그램

OS 외에도 시스템 소프트웨어에는 많은 유지 관리 및 서비스 프로그램이 포함되어 있습니다. 예를 들어 디스크 유지 관리 프로그램(복사, 포맷, "처리" 등), 디스크의 파일 압축(아카이버), 전투 컴퓨터 바이러스그리고 훨씬 더.

프로그래밍 시스템

시스템 및 응용 프로그램 소프트웨어 외에도 세 번째 유형의 소프트웨어가 있습니다. 프로그래밍 시스템(SP)이라고 합니다.

프로그래밍 시스템은 프로그래머가 작업할 수 있는 도구입니다.

프로그래머는 프로그래밍 시스템을 사용하여 작업합니다. 모든 SP는 특정 프로그래밍 언어에 중점을 둡니다. Pascal, BASIC, FORTRAN, C(C), Assembly, LISP 등과 같은 다양한 언어가 있습니다. 이러한 언어에서 프로그래머는 프로그램을 작성하고 프로그래밍 시스템의 도움을 받아 컴퓨터에 입력하고 디버그합니다. 테스트하고 실행합니다.

프로그래머는 시스템, 애플리케이션, 새로운 프로그래밍 시스템 등 모든 유형의 프로그램을 만듭니다.

질문 및 작업

    1. 최신 컴퓨터에서는 어떤 유형의 소프트웨어를 사용할 수 있습니까?
    2. 운영체제(OS)란 무엇입니까? 어떤 주요 기능을 수행합니까?
    3. OS와 사용자 간의 대화형 통신 모드는 무엇입니까?
    4. 프로그래밍 시스템의 목적은 무엇입니까? 누가 그들과 함께 일합니까?

시스템 프로그래밍

1. 프로그램 및 소프트웨어

프로그램은 특정 알고리즘을 구현하기 위해 정보 처리 시스템(IPS)의 특정 구성 요소를 제어하기 위한 데이터입니다.

정의는 GOST 19781-90에 따라 제공됩니다. 정보 처리 시스템용 소프트웨어. 용어 및 정의. - M .: 표준 출판사, 1990.

메모: 프로그램은 데이터입니다. 폰 노이만 기계의 기본 원리 중 하나는 프로그램과 데이터가 모두 동일한 메모리에 저장된다는 것입니다. 메모리에 저장된 프로그램은 데이터로 간주될 수 있는 일부 코드로 구성됩니다. 아마도 프로그래머의 관점에서 볼 때 프로그램은 활성 구성 요소이며 일부 작업을 수행합니다. 그러나 프로세서의 관점에서 보면 프로그램 명령은 프로세서가 읽고 해석하는 데이터입니다. 반면, 프로그램은 서비스 프로그램의 관점에서 본 데이터, 예를 들어 입력에서 하나의 데이터를 받는 컴파일러의 관점에서 보면 고급 언어(HLL)로 작성된 프로그램, 출력에서 다른 데이터, 즉 기계어 코드의 프로그램이 생성됩니다.

소프트웨어(SW) - 작동에 필요한 SOI 프로그램 및 프로그램 문서 세트

소프트웨어는 다양한 사용자가 반복적으로 사용하고 적용할 수 있는 프로그램이라는 것이 중요합니다. 이와 관련하여 필요한 여러 소프트웨어 속성에 주의를 기울여야 합니다.

    문서화의 필요성. 정의에 따르면 프로그램은 문서가 있는 경우에만 소프트웨어가 됩니다. 최종 사용자는 문서 없이 작업을 수행할 수 없습니다. 문서화를 통해 소프트웨어를 복제하고 개발자 없이 판매할 수 있습니다. Brooks에 따르면 소프트웨어 오류는 소프트웨어 제품이 설명에 따라 작동하지 않는 상황이므로 문서의 오류는 소프트웨어 제품의 오류이기도 합니다.

    능률. 반복 사용을 위해 설계된 소프트웨어(예: OS, 텍스트 편집기 등)는 한 번 작성되고 디버깅되고 여러 번 실행됩니다. 따라서 비용을 소프트웨어 생산 단계로 이전하고 실행 단계에서는 비용을 면제하여 비용 복제를 방지하는 것이 좋습니다.

    신뢰할 수 있음. 포함:

    • 모든 유효한 입력 데이터 사양에 대한 프로그램 테스트

      잘못된 사용자 행동으로부터 보호

      해킹 방지 - 사용자는 합법적인 인터페이스를 통해서만 소프트웨어와 상호 작용할 수 있어야 합니다.

Gauthier: "하드웨어 오류, 소프트웨어 오류, 잘못된 사용자 작업으로 인해 시스템 오류가 발생할 수 있습니다. 첫 번째는 불가피하고 두 번째는 가능성이 있으며 세 번째는 보장됩니다." 어떤 수준의 오류라도 시스템 충돌로 이어져서는 안 됩니다. 오류를 포착하고 진단해야 하며 (수정할 수 없는 경우) 올바른 실패로 바꿔야 합니다.

시스템 데이터 구조는 무조건 보존되어야 합니다. 사용자 데이터의 무결성을 보존하는 것이 바람직합니다.

    동행 가능성. 가능한 유지 관리 목표 - 소프트웨어를 특정 응용 프로그램 조건에 맞게 조정, 문제 해결, 수정.
    모든 경우에 소프트웨어의 신중한 구조화가 필요하며 소프트웨어 구조에 대한 정보의 전달자는 프로그램 문서여야 합니다.
    많은 경우 적응이 가능합니다. 설치 및 구성 시나리오를 신중하게 개발하고 설명하여 사용자에게 맡깁니다.
    오류를 수정하려면 고급 기능이 필요합니다. 서비스 부서, 오류에 대한 정보를 수집하고 수정 패키지를 생성합니다.
    수정에는 소프트웨어 사양 변경이 포함됩니다. 그러나 원칙적으로 이전 사양도 지원해야 합니다. 혁신적인 소프트웨어 개발로 사용자 투자가 절약됩니다.

시스템 프로그래밍

시스템 프로그램 - SOI의 기능을 유지하거나 사용 효율성을 높이기 위해 설계된 프로그램입니다.

응용 프로그램은 SOI의 특정 응용 분야에서 문제 또는 문제 클래스를 해결하도록 설계된 프로그램입니다.

용어에 따르면, 시스템 프로그래밍은 시스템 프로그램(제어 및 유지 관리 프로그램 포함)을 개발하는 프로세스입니다.

반면 헤겔의 정의에 따르면 체계는 다음과 같다. 많은 구성 요소와 그 사이의 많은 연결로 구성된 단일 전체. 그렇다면 시스템 프로그래밍은 복잡한 구조의 프로그램 개발입니다.

SOI의 성능을 보장하거나 효율성을 높이기 위해 복잡한 구조의 프로그램 개발이 정확하게 수행되기 때문에 이 두 가지 정의는 서로 모순되지 않습니다.

GOST에 고정된 소프트웨어를 시스템과 애플리케이션으로 나누는 방식은 어느 정도 구식입니다. 오늘날의 부서는 최소한 세 가지 소프트웨어 등급을 제공합니다.

    전신

    중급

    적용된

우리는 미들웨어를 특정(광범위한) 종류의 문제 해결을 목표로 하는 보조(소프트웨어 자체로 구성) 리소스를 관리하는 프로그램 세트로 정의합니다. 이러한 소프트웨어에는 트랜잭션 관리자, 데이터베이스 서버, 통신 서버 및 기타 소프트웨어 서버가 포함됩니다. 개발 도구의 관점에서 볼 때 미들웨어는 기본 리소스와 직접 작동하지 않고 이러한 목적으로 시스템 소프트웨어에서 제공하는 서비스를 사용하므로 응용 프로그램 소프트웨어에 더 가깝습니다. 미들웨어는 항상 반복적이고 다목적으로 사용되는 복잡한 소프트웨어 제품이며 시스템 소프트웨어와 동일하거나 유사한 알고리즘을 사용한다는 점에서 알고리즘 및 개발 기술의 관점에서 볼 때 시스템 소프트웨어에 더 가깝습니다.

소프트웨어 개발의 현재 추세는 시스템 및 애플리케이션 프로그래밍의 양을 줄이는 것입니다. 대부분의 프로그래머 작업은 미들웨어에서 수행됩니다. 시스템 프로그래밍 양의 감소는 현대 OS 개념, 객체 지향 아키텍처 및 마이크로커널 아키텍처에 의해 결정되며, 이에 따라 대부분의 시스템 기능이 미들웨어로 분류될 수도 있는 유틸리티로 전송됩니다. 애플리케이션 프로그래밍의 양이 감소하는 이유는 최신 미들웨어 제품이 해당 클래스의 문제를 해결하기 위해 점점 더 많은 도구 및 템플릿 세트를 제공하기 때문입니다.

시스템의 상당 부분과 거의 모든 응용 프로그램 소프트웨어가 고급 언어로 작성되어 개발/수정 및 이식성 비용이 절감됩니다.

시스템 소프트웨어는 시스템 제어 프로그램과 시스템 유지 관리 프로그램으로 구분됩니다.

제어 프로그램은 SOI의 자원 관리, 외부 환경과의 상호 작용, 기술적 수단으로 오작동이 발생한 후 시스템 작동의 복구를 포함하는 일련의 제어 기능을 구현하는 시스템 프로그램입니다.

유지 관리 프로그램(유틸리티) - SOI 사용자 및 서비스 담당자에게 일반 서비스를 제공하도록 설계된 프로그램입니다.

제어 프로그램은 시스템 작동에 필요한 유틸리티 세트와 함께 운영 체제(OS)를 구성합니다.

OS에 포함된 유틸리티 외에도 추가(선택적) 유지 관리를 수행하는 다른 유틸리티(동일 제조업체 또는 타사)가 있을 수 있습니다. 일반적으로 이는 운영 체제용 소프트웨어 개발을 제공하는 유틸리티입니다.

프로그래밍 시스템 - 프로그래밍 언어, 이 언어로 제공되는 프로그램의 컴파일러 또는 해석기, 해당 문서, 실행에 적합한 형식으로 프로그램을 준비하기 위한 보조 도구로 구성된 시스템입니다.

프로그램 준비 단계

프로그램을 개발할 때, 그리고 훨씬 더 복잡한 프로그램을 개발할 때 모듈화 원칙이 사용되어 복잡한 프로그램을 구성 요소 부분으로 나누고 각 부분을 별도로 준비할 수 있습니다. 모듈화는 소프트웨어 제품을 구조화하고 개발, 디버깅 및 유지 관리를 촉진하는 주요 도구입니다.

소프트웨어 모듈은 저장, 번역, 다른 프로그램 모듈과의 연결 및 RAM에 로드를 위한 프로그램 또는 기능적으로 완전한 프로그램 조각입니다.

모듈식 구조를 선택할 때는 다음과 같은 주요 고려 사항을 고려해야 합니다.

    기능 - 모듈은 완전한 기능을 수행해야 합니다.

    연결 끊김 - 모듈은 다른 모듈과 최소한의 연결을 가져야 하며 전역 변수 및 메모리 영역을 통한 통신은 바람직하지 않습니다.

    특정성 - 모듈의 입력 및 출력 매개변수는 명확하게 공식화되어야 합니다.

그림은 프로그램이 작성부터 실행까지 거치는 단계를 보여줍니다.


프로그램은 그림에서 IM 파일의 소스 모듈 형식으로 작성됩니다.

소스 모듈 - 소프트웨어 모듈번역가가 처리하고 번역을 수행하기에 충분한 전체로서 소스 언어로 제공됩니다.

프로그램 준비의 첫 번째(모든 프로그래밍 언어에 필수는 아님) 단계는 프로그램을 처리하는 것입니다. 매크로프로세서 (또는 전처리기). 매크로 프로세서는 프로그램 텍스트를 처리하고 출력은 텍스트의 새 버전입니다(그림 - IM). 대부분의 프로그래밍 시스템에서 매크로 프로세서는 번역기와 결합되며 프로그래머에게는 해당 작업과 중간 IM이 표시되지 않습니다. . 매크로프로세서는 텍스트 처리를 수행한다는 점을 명심해야 합니다. 이는 한편으로는 프로그래밍 언어의 연산자를 "이해하지 못하고" 다른 한편으로는 프로그램 변수를 "모르는" 것을 의미합니다. 매크로언어의 모든 연산자와 변수(매크로프로세서에 전달되는 프로그램의 표현식)는 더 이상 중간 IM에 존재하지 않으며 추가 처리 단계에서 표시되지 않습니다. 따라서 매크로프로세서가 일부 텍스트 A를 텍스트로 바꾼 경우 프로그램에서 B를 사용하면 번역자는 이미 텍스트 B만 보고 이 텍스트가 프로그래머가 "직접" 작성한 것인지 아니면 매크로프로세서로 대체했는지 알 수 없습니다.

다음 무대가 방송됩니다.

번역은 한 프로그래밍 언어로 제시된 프로그램을 첫 번째 프로그래밍 언어와 동일한 특정 의미(논리적, 기능적)에서 다른 프로그래밍 언어로 변환하는 것입니다.

원칙적으로 번역기의 출력 언어는 대상 컴퓨터 시스템의 기계어입니다. (대상 항공기는 프로그램이 실행될 항공기입니다.)

기계어는 정보처리의 기술적 수단을 통해 프로그램을 직접 실행할 수 있는 형태로 프로그램을 표현하도록 설계된 프로그래밍 언어이다.

번역가는 방송하는 프로그램의 총칭이다. 처리하는 프로그램의 소스 언어에 따라 어셈블러와 컴파일러로 구분됩니다. 어셈블러는 오토코드나 어셈블리 언어로 작업하고, 컴파일러는 고급 언어로 작업합니다.

오토코드는 기호화된 프로그래밍 언어로, 그 구조는 특정 기계어의 명령 및 처리된 데이터와 기본적으로 유사합니다.

어셈블리 언어는 고급 언어의 특징적인 여러 기능(일반적으로 매크로 기능 포함)을 갖춘 기계어의 상징적 형태인 프로그래밍 언어입니다.

고급 언어는 인간이 인식하기에 편리한 개념과 구조를 갖춘 프로그래밍 언어입니다.

객체 모듈은 소스 모듈의 번역 결과로 얻은 소프트웨어 모듈입니다.

번역의 결과는 기계어에 가까운 언어로 된 모듈이기 때문에, 소프트웨어 모듈이 작성된 소스 언어에 대한 표시는 더 이상 없습니다. 이는 다양한 언어로 작성된 모듈에서 프로그램을 생성할 수 있는 근본적인 가능성을 창출합니다. 그러나 소스 언어의 세부 사항은 기본 데이터 유형의 물리적 표현, 프로시저/함수에 액세스하는 방법 등에 영향을 미칠 수 있습니다. 다국어 모듈의 호환성을 위해서는 일반적인 규칙을 유지해야 합니다.

대부분의 객체 모듈은 프로그램 실행 중에 존재하는 형태와 정확히 같은 기계어 명령어 및 데이터입니다. 그러나 프로그램의 일반적인 경우많은 모듈로 구성되어 있습니다. 변환기는 하나의 특정 모듈만 처리하기 때문에 다른 모듈에 정의된 데이터나 프로시저를 호출하도록 프로그래밍된 해당 모듈의 해당 부분을 제대로 처리할 수 없습니다. 이러한 요청을 외부 링크라고 합니다. 외부 참조를 포함하는 개체 모듈의 해당 위치는 추가 처리가 필요한 일부 중간 형식으로 변환됩니다. 객체 모듈은 해결되지 않은 외부 참조가 있는 기계어 프로그램이라고 합니다.

외부 링크 확인은 Link Editor(Linker)에서 제공하는 다음 준비 단계에서 수행됩니다. 링크 편집기는 프로그램에 포함된 모든 개체 모듈을 함께 연결합니다. 링크 편집기는 이미 모든 프로그램 구성 요소를 "보기" 때문에 외부 링크가 포함된 개체 모듈의 해당 위치를 처리할 수 있습니다. Link Editor의 결과는 로딩 모듈입니다.

부트 모듈은 실행을 위해 RAM에 로드하기에 적합한 형태로 제공되는 소프트웨어 모듈입니다.

부팅 모듈은 외부 메모리에 파일로 저장됩니다. 실행하려면 프로그램을 RAM으로 전송(로드)해야 합니다. 때로는 추가 처리가 필요합니다(예: 프로그램의 주소를 프로그램이 로드된 RAM 영역으로 설정). 이 기능은 일반적으로 운영 체제에 포함되어 있는 부트 로더에 의해 수행됩니다.

프로그램이 실행을 위해 시작되고 로딩과 결합될 때마다 링크 편집이 수행되는 것도 가능합니다. 이것이 바인딩 로더가 하는 일입니다. 시작 시 바인딩 옵션은 더 소모적입니다. 바인딩 비용은 각 실행마다 복제됩니다. 그러나 다음을 제공합니다.

    다른 모듈을 변경하지 않고도 프로그램의 개별 개체 모듈을 변경할 수 있으므로 유지 관리의 유연성이 향상됩니다.

    외부 메모리를 절약하기 때문에 많은 프로그램에서 사용되는 객체 모듈은 각 로드 모듈에 복사되지 않고 단일 복사본에 저장됩니다.

해석 옵션에는 원본 모듈의 직접 실행이 포함됩니다.

해석은 특정 언어로 표현된 구문론적으로 완전한 텍스트의 의미를 실현하는 것입니다.

인터프리터는 소스 모듈에서 다음 프로그램 문장을 읽고 이를 기계어로 번역하여 실행합니다. 모든 준비 비용은 각 실행마다 복제되므로 해석된 프로그램은 근본적으로 번역된 프로그램보다 효율성이 떨어집니다. 그러나 해석은 개발 용이성, 유지 관리성 및 이식성을 제공합니다.

통역사의 예: 절차 언어(판매, REXX), JVM.

프로그램을 같은 날에 준비할 필요는 없습니다. 컴퓨팅 시스템그리고 프로그램이 실행될 동일한 운영 환경에서. 대상 환경이 아닌 환경에서 프로그램 준비를 보장하는 시스템을 크로스 시스템이라고 합니다. 교차 시스템에서는 모든 준비 또는 개별 단계를 수행할 수 있습니다.

    매크로 처리 및 브로드캐스팅

    링크 편집

크로스 시스템의 일반적인 적용은 대상 컴퓨팅 환경에 임베디드 시스템과 같은 프로그램을 준비하는 데 필요한 리소스가 없는 경우입니다.

대상 시스템에서 프로그램 디버깅을 제공하는 소프트웨어 도구도 크로스 시스템의 특별한 경우로 간주될 수 있습니다.