Software. Softwarový koncept. Kdo vyvíjí software

Každý počítač je automatické zařízení, které pracuje podle programů v něm zabudovaných. Počítačový program je posloupnost příkazů napsaných v binární formě ve strojovém jazyce, který je srozumitelný procesoru počítače. Počítačový program je forma záznamových algoritmů pro řešení zadaných problémů. Sada programů připravených ke spuštění uložených v paměti RAM a externí paměti počítače se nazývá její software .

Typy softwaru

Existují tři hlavní typy softwaru: systémový, aplikační a instrumentální.

Systémový software zajišťuje koordinovanou interakci mezi počítačovými zařízeními a vytváří podmínky pro provádění dalších programů. Nejdůležitější částí systémového softwaru je operační systém, program potřebný ke spuštění počítače. Operační systém provádí následující funkce:

  • Poskytování uživatelského rozhraní, tj. softwaru pro dialog mezi osobou a počítačem;
  • řízení spouštění jiných programů v počítači, včetně organizace jejich přístupu k zařízením (procesor, paměť, vstupně/výstupní zařízení);
  • správa ukládání informací v počítači ve formě hierarchického systému složek obsahujících soubory.

Můžeme říci, že operační systém je prostředí, ve kterém běží další programy.

Součástí systémového softwaru jsou také ovladače – programy, které řídí činnost vstupně/výstupních zařízení a některých dalších zařízení, umožňující konfigurovat parametry jejich činnosti. Ovladače jsou obvykle dodávány se zařízeními. Sada nejběžnějších ovladačů je dodávána s operačním systémem.

Součástí systémového softwaru jsou také antiviry a další programy související s údržbou počítače. Systémové programy se často nazývají utility (z latinského utilis - užitečný).

Aplikační software (aplikace) jsou programy přímo navržené tak, aby vyhovovaly potřebám uživatelů. Typičtí představitelé aplikačního softwaru:

  • textové a grafické editory;
  • tabulkové programy;
  • systémy pro správu databází;
  • internetové prohlížeče;
  • vzdělávací systémy, elektronické encyklopedie, hry;
  • specializované softwarové systémy určené pro
  • automatizace určitého typu odborné činnosti, například bankovní systémy, systémy řízení dopravy, systémy geometrického modelování ve strojírenství.

Nástrojový software zahrnuje nástroje pro automatizaci vývoje počítačových programů, tedy programátorské nástroje. Instrumentální software je druh aplikačního softwaru (je aplikován na vývojáře).

Při vývoji softwaru je nutné prezentovat algoritmy ve formě, které počítač rozumí. K tomuto účelu se používají softwarové balíčky zvané programovací systémy. Tvoří základ softwaru nástroje.

Číslo lístku 16

Aplikační balíček(zkr. PPP, anglicky) aplikační balíček) nebo softwarový balík- soubor vzájemně propojených modulů určených k řešení problémů určité třídy určitého tematického okruhu.

Charakteristika softwarových balíků pro všeobecné použití (APP)
Aplikační programy jsou určeny k zajištění využití výpočetní techniky v různých oblastech lidské činnosti. Kromě vytváření nových softwarových produktů věnují vývojáři aplikačních programů mnoho úsilí vylepšování a modernizaci oblíbených systémů a vytváření jejich nových verzí. Nové verze zpravidla podporují ty staré, zachovávají kontinuitu a zahrnují základní minimum (standard) schopností.
Aplikační balíčky jsou nejdynamičtěji se rozvíjející částí softwaru: rozsah úloh řešených pomocí softwaru se neustále rozšiřuje. V mnoha ohledech bylo zavedení počítačů do téměř všech oblastí činnosti možné díky vzniku nového a vylepšení stávajícího softwaru.
Pokroky v oblasti mikroelektroniky vedoucí ke vzniku počítačů výkonnějších ve své funkcionalitě jsou také důvodem pro vznik nových PPP. Potřeba zlepšit vlastnosti používání balíčku při řešení specifických uživatelských problémů zase stimuluje zlepšení architektury a základny prvků počítačů a periferních zařízení.
Struktura a principy konstrukce softwarového balíku závisí na třídě počítače a operačním systému, ve kterém bude tento balík fungovat. Největší počet různých softwarů byl vytvořen pro počítače IBM PC kompatibilní s operačními systémy MS DOS a Windows.
Každá skupina balíčků má své vlastní organizační problémy, problémy s vývojem a tvorbou. Každý balíček je implementován ve specifickém programovacím jazyce v souladu s požadavky na balíček a možnostmi jazyka.
Jedna z možných možností klasifikace softwaru, který tvoří aplikační software, je znázorněna na obrázku 7.15. Jako téměř každá klasifikace zobrazená na obrázku není jediná možná.
Textové editory (procesory) jsou speciální programy určené pro práci s dokumenty (texty), které umožňují uspořádat, formátovat a upravovat texty, když uživatel vytváří dokument. Obvykle obsahují doplňkové funkce pro práci s bloky textu a objekty.
DTP systémy jsou programy určené pro profesionální publikační činnost a umožňují elektronické uspořádání široké škály základních typů dokumentů, jako je newsletter, krátká barevná brožura a objemný katalog nebo obchodní aplikace, referenční kniha. Nástroje poskytované v balíčcích tohoto typu vám umožňují:
- skládat (sázet) text;
- používat všechny druhy písem a vytvářet tištěné obrázky;
- provádět úpravy textu na úrovni nejlepších textových procesorů;
- zpracovávat grafické obrázky;
- zajistit výstup tištěných dokumentů;
- pracovat napříč sítěmi a na různých platformách.
Nejlepší balíčky v této oblasti pro počítače jsou: Corel Venture, PageMaker, QuarkXPress, FrameMaker, Microsoft Publisher, Illustrator pro Windows atd.
Grafické systémy jsou balíčky určené pro zpracování grafických informací.
Počítačová grafika je v současnosti jednou z nejrychleji rostoucích oblastí softwaru. Zahrnuje vstup, zpracování a výstup grafických informací - kresby, kresby, malby atd. - pomocí výpočetní techniky. Různé typy grafických systémů umožňují rychle vytvářet obrázky, zadávat ilustrace pomocí skeneru nebo videokamery a vytvářet animovaná videa.
Grafické editory umožňují používat různé nástroje pro umělce, standardní knihovny obrázků, sady standardních písem, úpravy obrázků, kopírování a přesouvání fragmentů po stránkách obrazovky atd.
Grafické balíčky se dělí na balíčky rastrové grafiky a zpracování obrazu a balíčky vektorové grafiky.
Balíčky rastrové grafiky jsou určeny pro práci s fotografiemi a obsahují sadu nástrojů pro kódování fotografických obrázků a digitální podoby. Uznávaným lídrem mezi balíčky této třídy je Adobe Photoshop. Známé jsou také balíčky Aldus Photo Styler, Picture Publisher a Photo Works Plus.
Balíčky pro práci s vektorovou grafikou jsou určeny pro profesionální práce spojené s výtvarnou a technickou ilustrací s následným barevným tiskem (např. na pracovišti designéra), zaujímají mezilehlou pozici mezi balíky pro systémy počítačově podporovaného navrhování (CAD) a systémy DTP. .
Balíčky této třídy mají v současnosti poměrně širokou škálu funkcí pro komplexní a přesné zpracování grafických obrázků a zahrnují:
- nástroje pro tvorbu grafických obrázků;
- nástroje pro zarovnání (podle účaří a stránky, podle mřížky, průsečíku, nejbližšího bodu atd.);
- prostředky manipulace s předměty;
- nástroje pro zpracování textu z hlediska návrhu a úpravy odstavců, práce s různými fonty;
- prostředky pro import (export) grafických objektů (souborů) různých formátů;
- tiskové prostředky s vhodným nastavením obrazu na obrazovce pro tisk;
- nástroje pro úpravu barev.
Jakýmsi standardem v této třídě je balíček CorelDraw. Můžete si také povšimnout takových balíčků, jako je Adobe Illustrator, Aldus Free Hand, Professional Draw.

Software (Angličtina) software) je soubor programů, které s jejich pomocí zajišťují fungování počítačů a řešení problémů v předmětových oblastech. Software je nedílnou součástí počítačového systému, je logickým pokračováním technických prostředků a určuje rozsah použití počítače.

Software moderních počítačů zahrnuje širokou škálu programů, které lze rozdělit do tří skupin (obr. 3.1):

1. Systémový software (systémové programy);

2. Aplikační software (aplikační programy);

3. Instrumentace (přístrojové systémy).

Systémový software (SPO) jsou programy, které řídí provoz počítače a provádějí různé pomocné funkce, například správu počítačových zdrojů, vytváření kopií informací, kontrolu funkčnosti zařízení počítače, vydávání referenčních informací o počítači atd. Jsou určeny pro všechny kategorie uživatelů a slouží k efektivní práci počítače a uživatele, stejně jako k efektivnímu provádění aplikačních programů.

Operační systémy zaujímají centrální místo mezi systémovými programy. provozní systémy). operační systém (OS) je soubor programů určených ke správě načítání, spouštění a spouštění jiných uživatelských programů a také k plánování a správě počítačových výpočetních zdrojů, tzn. ovládat provoz PC od okamžiku jeho zapnutí až do vypnutí napájení. Automaticky se načte při zapnutí počítače, vede dialog s uživatelem, spravuje počítač, jeho zdroje (RAM, místo na disku atd.), spouští další programy pro spuštění a poskytuje uživateli a programům pohodlný způsob komunikace - rozhraní – s počítačovými zařízeními. Jinými slovy, operační systém zajišťuje fungování a propojení všech komponent počítače a také poskytuje uživateli přístup ke svým hardwarovým možnostem.

OS určuje výkon systému, stupeň ochrany dat, výběr programů, se kterými lze na počítači pracovat, a hardwarové požadavky. Příklady operačních systémů jsou MS DOS, OS/2, Unix, Windows 9x, Windows XP.

Servisní systémy rozšířit možnosti operačního systému pro údržbu systému a zajistit pohodlí uživatele. Tato kategorie zahrnuje systémy údržby, softwarové prostředí a prostředí OS a také obslužné programy.

Systémy údržby je soubor PC softwaru a hardwaru, které provádějí monitorování, testování a diagnostiku a slouží ke kontrole fungování počítačových zařízení a zjišťování poruch při provozu počítače. Jsou nástrojem pro specialisty na obsluhu a opravy počítačového hardwaru.

K uspořádání pohodlnějšího a vizuálního rozhraní mezi uživatelem a počítačem používáme software skořápka operační systémy – programy, které umožňují uživateli provádět akce pro správu počítačových zdrojů pomocí jiných prostředků, než které poskytuje OS (srozumitelnější a efektivnější). Některé z nejoblíbenějších vzhledů zahrnují Norton Commander ( Symantec), FAR (správce souborů a archivů) ( E. Roshal).

Utility (utility, lat. utilitas- benefit) jsou pomocné programy, které uživateli poskytují řadu doplňkových služeb pro provádění často vykonávaných prací nebo zvyšují pohodlí a komfort práce. Tyto zahrnují:

 balicí programy (archivery), které umožňují hustěji zaznamenávat informace na disky a také spojovat kopie více souborů do jednoho, tzv. archivního souboru (archivu);

 antivirové programy určené k prevenci napadení počítačovými viry a odstranění následků infekce;

 programy pro optimalizaci místa na disku a kontrolu kvality;

 programy pro obnovu, formátování a ochranu dat;

 programy pro vypalování CD;

 ovladače – programy, které rozšiřují možnosti operačního systému pro správu vstupních/výstupních zařízení, paměti RAM atp. Při připojování nových zařízení k počítači musíte nainstalovat příslušné ovladače;

 komunikační programy, které organizují výměnu informací mezi počítači atp.

Některé nástroje jsou součástí operačního systému a některé jsou prodávány jako samostatné softwarové produkty, například multifunkční balíček servisních nástrojů Norton Utilities ( Symantec).

Aplikační software (software) je určen k řešení uživatelských problémů. Skládá se z uživatelské aplikace A balíčky aplikací (PPP) pro různé účely .

Aplikační program uživatel je jakýkoli program, který pomáhá vyřešit jakýkoli problém v dané problémové oblasti. Aplikační programy lze používat buď samostatně, nebo jako součást softwarových systémů či balíčků.

Aplikační balíčky (PPP) jsou speciálně organizované softwarové systémy, určené pro obecné použití v konkrétní problémové oblasti a doplněné příslušnou technickou dokumentací. Rozlišují se následující typy PPP:

PPP pro všeobecné použití– univerzální softwarové produkty určené k automatizaci široké třídy uživatelských úloh. Tyto zahrnují:

Textové editory(například MS Word, Word Perfect, Lexicon);

Stolní procesory(například MS Excel, Lotus 1-2-3, Quattro Pro);

Dynamické prezentační systémy(například MS Power Point, FreelanceGraphics, Harvard Graphics);

Systémy pro správu databází(například MS Access, Oracle, MS SQL Server, Informix);

Grafický editor(například Corel Draw, Adobe Photoshop);

Publikační systémy(např. Page Maker, Venture Publisher);

Navrhujte automatizační systémy(například BPWin, ERWin);

Elektronické slovníky a překladatelské systémy(například Prompt, Socrates, Lingvo , Kontext);

Systémy rozpoznávání textu(např. Fine Reader, Cunei Form).

Univerzální systémy jsou často integrovány do vícesložkových kancelářských automatizačních balíčků – kancelářské balíky – Microsoft Office, StarOffice atd.

metodicky orientované PPP, které jsou založeny na implementaci matematických metod řešení problémů. Patří sem např. matematické systémy zpracování dat (Mathematica, MathCad, Maple), systémy statistického zpracování dat (Statistica, Stat).;

orientovaný na problém PPP navržený k řešení konkrétního problému v konkrétní předmětové oblasti. Například právní informační systémy YurExpert, YurInform; účetní a kontrolní balíčky 1C: Účetnictví, Galaxy, Angelica; v oblasti marketingu – Kasatka, Marketing Expert; bankovní systém STBank;

integrované PPP jsou souborem několika softwarových produktů spojených do jediného nástroje. Mezi nejrozvinutější z nich patří textový editor, osobní manažer (organizátor), tabulkový procesor, systém pro správu databází, nástroje pro e-mailovou podporu a program pro tvorbu prezentační grafiky. Výsledky získané jednotlivými podprogramy lze spojit do výsledného dokumentu obsahujícího tabulkový, grafický a textový materiál. Patří mezi ně například MS Works. Integrované balíčky obvykle obsahují nějaký druh jádra, které umožňuje úzkou interakci mezi komponentami.

Aplikační softwarové balíky mají obvykle nástroje pro přizpůsobení, což jim umožňuje přizpůsobit je specifikům dané oblasti během provozu.

NA nástrojový software zahrnout: programovací systémy pro vývoj nových programů, například Pascal, BASIC. Obvykle mezi ně patří: editor texty, zajišťující tvorbu a editaci programů ve zdrojovém programovacím jazyce (zdrojové programy), překladatel, a rutinní knihovny; instrumentální prostředí pro vývoj aplikací, například C++, Delphi, Visual Basic, Java, které zahrnují vizuální programovací nástroje; modelovací systémy , například simulační systém MatLab, systém modelování podnikových procesů BpWin a databáze ErWin a další.

Překladatel (Angličtina) překladatel– translator) je překladatelský program, který převádí program z jazyka vyšší úrovně na program sestávající ze strojových instrukcí. Překladače jsou implementovány ve formuláři kompilátory nebo tlumočníci, které se zásadně liší principy fungování.

Kompilátor(Angličtina) kompilátor– kompilátor, kolektor) přečte celý program zcela, přeloží a vytvoří kompletní verzi programu ve strojovém jazyce, která se následně spustí. Kompilace vytváří spustitelný program, který ke spuštění nevyžaduje zdrojový program ani kompilátor.

Tlumočník(Angličtina) tlumočník– tlumočník, tlumočník) překládá a spouští program řádek po řádku. Program zpracovaný tlumočníkem musí být při každém spuštění znovu přeložen do strojového jazyka.

Kompilované programy běží rychleji, ale interpretované programy se snáze opravují a mění.

v informatice

"Počítačový software"


Úvod

2.1 Software s otevřeným zdrojovým kódem

3. OS Microsoft Windows

4. OS GNU/Linux

5. Systém souborů

6. Ovladače

7. Malware a antivirové nástroje

7.1 Viry

7.2 Síťoví červi

7.3 Trojské koně

7.4 Administrativní opatření pro boj s viry

7.5 Příznaky virů

7.6 Stručný přehled antivirových balíčků

8. Archiváři

9. Programy údržby pevného disku

Seznam použité literatury

Úvod

Software (software pro výslovnost se nedoporučuje) - spolu s hardwarem nejdůležitější součást informačních technologií, včetně počítačových programů a dat určených k řešení určitého okruhu problémů a uložených na počítačových médiích.

Software je algoritmus implementovaný jako sekvence instrukcí pro procesor.

V počítačovém žargonu se často používá slovo „software“ z anglického software.

Podle účelu se software dělí na systémový, aplikační a instrumentální.

Rýže. 2. Klasifikace softwaru.

Nástrojový software je určen pro použití při návrhu, vývoji a údržbě programů. Jsou to: integrovaná vývojová prostředí, SDK, kompilátory, interpreti, linkery, assemblery, debuggery atd.

Aplikační software (aplikace) - programy určené k provádění určitých uživatelských úkolů a určené pro přímou interakci s uživatelem. Aplikační software zahrnuje: bankovní a účetní programy, hry, textové a grafické editory, internetové klienty atd.

Systémový software se používá k tomu, aby počítač běžel samostatně a spouštěl aplikační programy. Mezi konkrétní typy systémového softwaru patří zavaděče, operační systémy, ovladače zařízení, nástroje (utility). Nejběžnější částí systémového softwaru je operační systém.

Operační systém, OS (OS - operační systém) - základní sada počítačových programů, která zajišťuje: správu počítačového hardwaru, práci se soubory, vstup a výstup dat, jakož i provádění aplikačních programů a utilit.

Když zapnete počítač, operační systém se načte do paměti dříve než ostatní programy a poté slouží jako platforma a prostředí pro jejich práci.

Od 90. let 20. století jsou nejrozšířenějšími operačními systémy rodina operačních systémů Microsoft Windows a systémy třídy UNIX (zejména Linux).

Hlavní funkce OS:

Standardizovaný přístup k periferním zařízením (vstupní/výstupní zařízení);

Správa paměti RAM;

Správa energeticky nezávislé paměti (pevný disk, CD atd.), obvykle pomocí souborového systému;

Uživatelské rozhraní.

Další funkce OS:

Paralelní nebo pseudoparalelní provádění úkolů (multitasking);

Komunikace mezi procesy;

Interakce mezi stroji (počítačová síť);

Ochrana samotného systému, jakož i uživatelských dat a programů před škodlivými akcemi uživatelů nebo aplikací;

Rozlišení přístupových práv a víceuživatelský režim provozu (autentizace, autorizace).

1. Rodiny a chronologie operačních systémů

Nejstarším úspěšným operačním systémem je UNIX (1969). Stále zůstává jedním z hlavních systémů na počítačích, které jsou výkonnější než osobní počítače, a bylo z něj vygenerováno mnoho operačních systémů podobných UNIXu.

V roce 1981 IBM vydala osobní počítač (IBM PC), jehož architektura se stala ve světě standardem. Všechny osobní počítače se obvykle dělí na IBM kompatibilní (naprostá většina) a IBM nekompatibilní, například počítač Macintosh vyráběný společností Apple. Počítače Macintosh používají operační systém MacOS.

V roce 1982 společnost Microsoft vydala operační systém MS-DOS (Disc Operating System), který se stal na mnoho let nejoblíbenějším operačním systémem pro počítače kompatibilní s IBM.

V roce 1985 stejný Microsoft vydal první verzi Windows, která se vyvinula a dnes je nejrozšířenějším operačním systémem s nejoblíbenějšími aplikačními programy.

Rok 1991 je rokem zrodu operačního systému Linux, hlavního konkurenta Windows, který se stále více rozšiřuje.

Kromě toho můžete uvést mnoho názvů operačních systémů od různých výrobců, například: Netware (Novell), OS/2 (IBM), SunOS (Sun Microsystems), Java Desktop System (Sun Microsystems), FreeBSD (jeden z otevřených zdrojové větve UNIXu) atd.

2. Právní ochrana programů a GNU GPL

Pokud jde o tvorbu a distribuci softwaru, v této oblasti se používají dvě hlavní strategie.

Proprietární software je software, který má omezení týkající se jeho použití a kopírování obecně vyžadovaná vlastníkem. Zabránění použití, kopírování nebo úpravám lze dosáhnout právními nebo technickými prostředky. Technické prostředky zahrnují uvolňování pouze strojově čitelných binárních souborů a skrývání lidsky čitelného zdrojového kódu. Právní prostředky mohou zahrnovat softwarové licence, autorská práva (©) a patenty.

Ale podle mnohých je programování stejná věda jako chemie, fyzika a matematika. Všechny úspěchy v těchto oblastech byly zveřejněny. Není třeba znovu objevovat Pythagorovu větu a znovu vynalézat kolo. Pokud člověk žije ve společnosti, pak by se všechny jeho objevy měly stát majetkem této společnosti, protože tak dochází k pokroku. Totéž lze říci o softwaru.

V 70. letech byl software často vyvíjen volnými sdruženími programátorů a distribuován zdarma dalším uživatelům, kteří jej potřebovali. Často to dělaly i velké společnosti. V roce 1983 se situace změnila – přišla éra osobních počítačů, komerční programy a operační systémy (zejména DOS od Microsoftu) zahájily své vítězné tažení světem. O něco později myšlenka komercializace pronikla do světa „velkých“ strojů a „seriózního“ programování.

Richard Stallman, jeden ze zakladatelů operačního systému Unix v roce 1983, založil projekt GNU, jehož cílem bylo obnovit předchozí vztahy mezi výrobci a spotřebiteli softwaru. GNU (rekurzivní zkratka z anglického GNU is Not Unix - „GNU is not Unix“) je projekt na vytvoření svobodného operačního systému podobného UNIXu.

Jako součást projektu GNU v roce 1988 Stallman spolupracoval s právníky na vývoji obecné veřejné licence GNU pro tento software. Označuje se také zkratkou GNU GPL nebo dokonce jednoduše GPL, pokud je z kontextu zřejmé, že jde o licenci, o které mluvíme.

V manifestu GNU je mnoho prostoru věnováno rozdílu mezi svobodným softwarem a svobodným softwarem - v ruštině to lze říci mnohem stručněji, protože tyto pojmy nejsou označovány jako v angličtině jedním slovem svobodný. Po obdržení nebo zakoupení bezplatného programu můžete legálně, aniž byste porušili něčí autorská práva:

Kopírujte to, jak chcete, distribuujte to, jak chcete;

Upravte nebo vylepšete jeho zdrojový kód (program distribuovaný pod licencí GNU Public License je vždy dodáván se zdrojovým kódem vývojáře, nejpřísněji střeženou a nikdy nezveřejněnou částí komerčního softwaru);

A nakonec s upravenou verzí volně disponovat – zda ​​ji dát zdarma, nebo za ni žádat miliardu.

Existuje pouze jedna věc, na kterou uživatel takového softwaru nemá za žádných okolností nárok. Při další distribuci nemůže skrýt zdrojový kód programu a prohlásit se za jeho majitele a zastavit tak jeho bezplatné vylepšování a vývoj. Speciálně pro takové programy zavedl projekt GNU koncept copyleftu (na rozdíl od autorských práv), kdy si tvůrce produktu za všech okolností ponechává téměř všechna autorská a vlastnická práva k němu – i když jej distribuuje zcela zdarma.

Svoboda softwaru se tedy skládá z:

Svoboda psát (upravovat) kód;

Svoboda distribuovat (publikovat, replikovat) kód.

2.1. Open source software

Open source software je způsob vývoje softwaru, při kterém je vytvořený zdrojový kód programů otevřený, tedy veřejně dostupný k prohlížení a úpravám. To umožňuje komukoli využít již vytvořený kód pro vlastní potřebu a případně pomoci při vývoji open source programu.

"Otevřená" licence nevyžaduje, aby byl software vždy poskytován zdarma. Ale mnoho z nejúspěšnějších open source softwarových projektů je stále zdarma.

Naprostá většina softwaru s otevřeným zdrojovým kódem je svobodná (GNU GPL) a naopak, protože definice otevřeného a svobodného softwaru jsou podobné a většina licencí vyhovuje oběma.

Rozdíl mezi pohybem open source a svobodného softwaru spočívá především v prioritách. Zastánci open source softwaru zdůrazňují efektivitu open source softwaru jako metody vývoje. Zastánci svobodného softwaru vycházejí z ideologických úvah a věří, že práva na šíření, úpravy a studium programů jsou hlavní výhodou svobodného softwaru.

3. OS Microsoft Windows

MS Windows (vyslov Vindouz) je rodina operačních systémů od společnosti Microsoft (Microsoft). Šéfem Microsoft Corporation je Bill Gates.

Bez ohledu na to, jak „chytré“ elektronické počítače nebo osobní počítače jsou, zůstanou zbytečným „kusem železa“, pokud nejsou nabité softwarem. Je to to, co je nutí pracovat, provádět určité akce: provádět výpočty, zobrazovat text, obrázky a videa, vytvářet zvuky a přehrávat hudbu a také ovládat další zařízení. Všechny akce, které počítač provádí, se provádějí podle specifického programu vyvinutého pro něj osobou a soubor takových programů pro ovládání elektronických výpočetních zařízení se nazývá software.

Softwarový koncept

Ve skutečnosti se program skládá z kroků, které postupně provádějí, počítač provádí určité akce, například přijímá znaky zadané z klávesnice od uživatele a zobrazuje je na obrazovce, přiměje tiskárnu tisknout text na list papíru atd. Každý z těchto kroků je zakódován ve speciálním strojovém jazyce a nazývá se „příkaz“ a sbírka takových příkazů je. programový kód.

Poprvé byla myšlenka, že jakéhokoli předem určeného stavu systému lze dosáhnout postupným prováděním elementárních příkazů, přenášejícími jej z jednoho stabilního stavu do druhého, navržena anglickým matematikem jménem Alan Turing. V mém eseji "Vyčíslitelná čísla s aplikací na problém Entscheidungsproblem (problém rozhodování)" vytvořil teoretický model, kterým byl abstraktní stroj (automat) schopný provádět elementární akce a převádět je z jednoho pevného stavu do druhého pevného stavu. Výsledkem je, že stroj mohl provádět jednoduché, základní operace. Takový automat následně dostal jméno v literatuře - "Turingův stroj". Hlavní myšlenkou byl matematický důkaz, že libovolného předem určeného stavu tohoto automatu lze dosáhnout provedením konečné množiny konkrétních příkazů z celé pevné množiny (programu). Díky této teorii se následně zrodila taková věda (tak říkajíc), jako je programování.

Programátoři - lidé, kteří vyvíjejí software, tedy v podstatě ovládají osobní počítač pomocí programových kódů, které píší, a nutí jej číst znaky zadané z klávesnice, přehrávat hudbu, přehrávat videa atd.

Typy softwaru

Dnes existuje velké množství různých programů navržených tak, aby vykonávaly zcela odlišné funkce: aritmetické nebo inženýrské výpočty, kreslení, programování, přehrávání hudby nebo filmů atd. Ale zároveň se každý z nich nespouští sám o sobě na osobním počítači. počítač běží, jak se říká, pod kontrolou jednoho nebo druhého operačního systému.

Nabízí se rozumná otázka: "Proč nemůžete spustit každý z programů sami a obejít tento operační systém, pokud je program sadou kódů, pomocí kterých můžete ovládat počítač?"

Ve skutečnosti je to samozřejmě možné, a to se také praktikuje například na CNC strojích (computer numerical control), na automatech ve výrobě atd., ale existuje několik bodů, kvůli kterým byly tyto stejné operační systémy vyvinuty pro osobní počítače a dokonce i sálové počítače.

Faktem je, že pokud jde o standardní stroj, provádí sadu jednoduchých sekvenčních operací, například vysune manipulátor, vezme obrobek, otočí se, položí obrobek na správné místo. Poté se operace opakuje. Po celou dobu stroj provádí stejné akce podle stejného, ​​jednoho programu.

V případě PC chce uživatel nejen například kreslit v nahraném programu, chce zároveň poslouchat hudbu, být, jak se dnes říká, „v kontaktu“ s rodinou a přáteli. , tedy současně Současně pracujte ne s jedním, ale s více programy současně.

Kromě toho je tu ještě jeden čistě praktický bod. Při vývoji programu pro PC, který by dokázal pracovat samostatně bez operačního systému, by bylo nutné popsat všechny funkce práce s hardwarem počítače v jednom programu: čtení a zápis na disk, vstup/výstup z klávesnice, práce s monitor atd. Ve výsledku - obrovské časové náklady, velká velikost softwaru, závislost na hardwarové platformě, přítomnost velkého množství chyb a řada dalších negativních aspektů.

Operační systém se stará o většinu těchto „rutinních“ operací a zároveň poskytuje „multitasking“. To znamená, že uživatel může na svém osobním počítači spustit a spustit ne jeden, ale několik programů současně.

Veškerý software lze tedy rozdělit do tří typů:

  1. Systémový software;
  2. Aplikační software;
  3. Nástrojový software.

Systémový software

Jedná se o sadu programů, které zajišťují řízení hardwaru počítače: procesor, RAM, vstupní/výstupní zařízení, grafické systémy, síťová zařízení atd. Takový software zahrnuje zejména:

  • OS;
  • Řidiči- malé programy, které zajišťují správnou činnost s jedním nebo druhým zařízením (grafika, síť, zvukové karty, ovladače atd.);
  • Doplňkové programy, rozšiřující možnosti operačního systému.

Hlavní rozdíl mezi systémovým softwarem a jeho dalšími typy spočívá v tom, že není zaměřen na provádění žádných praktických nebo specifických úkolů. Zajišťuje pouze správný chod ostatních programů; jedná se o jakousi „vrstvu“ mezi hardwarem počítače na jedné straně a uživatelským programovým kódem na straně druhé, zajišťující jejich správnou interakci.

Aplikační software

Tato třída softwaru je nejrozsáhlejší. To je to, co většina programů používáme v našem každodenním životě. Prohlížeče, přehrávače zvukových a video souborů, grafické a textové editory, antivirové balíčky, účetní a další programy, které provádějí různé výpočty a výpočty – to vše se stejně jako mnoho programů určených k provádění specifických akcí, funkcí a uživatelských úkolů nazývá aplikační software .

Nástrojový software

Tento typ softwaru je velmi specifický software. Na jednu stranu by se dal také zařadit mezi aplikovaný typ, na druhou stranu se však vzhledem ke specifikům jeho použití a použití vyčleňuje do samostatného typu (i když přesnější by bylo nazývat jej podtyp aplikovaných).

Hlavní funkcí nástrojových softwarových programů je poskytnout možnost navrhovat, vytvářet, ladit a udržovat programový kód, tj. v podstatě se jedná o různá programovací prostředí: kompilátory z jazyků na vysoké úrovni, debuggery, editory atd.

Faktem je, že žádný počítač, jakékoli počítačové, digitální zařízení „nerozumí“ našim slovům. Taková zařízení pracují se svým vlastním „strojovým jazykem“ - binární kód. Ale programování přímo do „strojového kódu“ představuje určité potíže pro psaní programů. Proto byl vyvinut specializovaný software, který překládá snáze srozumitelná slova softwarových „jazyků vysoké úrovně“ na „strojový kód“. Takové programy se nazývají kompilátory A tlumočníky.

Rozdíl je v tom, že kompilátor vám umožní připravit soubor ke spuštění a interpret, soubor, který lze spustit na počítači, pouze s pomocí sebe sama. Mimochodem, psaný text programu obsahující příkazy v jazyce vysoké úrovně byl volán "zdroj"(v počítačovém slangu - „zdrojový kód“).

Abychom byli spravedliví, je třeba poznamenat, že programové soubory neobsahují strojový kód v „binární“ číselné soustavě, ale zpravidla v „hexadecimálním“ číselném systému. A speciální systémový program zabudovaný do operačního systému – „příkazový procesor“ – „přeloží“ „hexadecimální“ kód na „binární“. To bylo provedeno za účelem zmenšení velikosti programových souborů, protože „hexadecimální“ zápis je mnohem kompaktnější.

Distribuce softwaru

Distribuce jakéhokoli softwaru je doprovázena zvláštním dokumentem, který jasně stanoví všechna práva a povinnosti stran převádějících a užívajících tento software.

Podle způsobu použití a distribuce se veškerý software konvenčně dělí na:

  1. Svobodný software. Zpravidla je lze volně kopírovat a distribuovat zcela zdarma. Distributor si zároveň může účtovat poplatek, nikoli však za samotný software, ale např. za záznamové služby na médium, kanál přenosu dat apod.;
  2. Svobodný software. Stejně jako v případě „bezplatných“ programů si za takové programy nikdo neúčtuje peníze, ale hlavním rozdílem oproti prvnímu je možnost provádět změny v kódu programu a distribuovat nové verze výsledného softwaru spolu s vašimi změnami. „Svobodný“ software je tedy distribuován spolu se zdrojovým kódem;
  3. Open source. Podle podmínek licence musí být distribuován s otevřeným zdrojovým kódem;
  4. Uzavřený software. Je soukromým majetkem jeho autorů a je distribuován přísně za určitých podmínek. Může se jednat jak o peněžitou odměnu, tak o jiné druhy odměn neodporující zákonu, které může developer za její použití požadovat. Může se například jednat o sharewarovou distribuci, ve které se budete muset zaregistrovat na webu, abyste mohli program používat. Zpravidla je distribuován bez zdrojových kódů.

Závěr

Software je jednou z nezbytných podmínek pro fungování jakéhokoli výpočetního (nebo, jak se dnes říká, digitálního) systému. A nezáleží na tom, co to je – zda ​​je to zabudováno do zařízení nebo načteno z externího média, v každém případě, pouze pokud to funguje správně, počítačový systém provede akce, které jsou od něj vyžadovány.

Znalost a schopnost pracovat se softwarem je předpokladem každého uživatele, jinak vás i jednoduchý problém, který lze vyřešit během pěti minut, zmátne a povede nejen ke ztrátě času, ale i peněz.

Systémové programování

1. Programy a software

Program jsou data určená k řízení specifických komponent systému zpracování informací (IPS) za účelem implementace specifického algoritmu.

Definice jsou uvedeny podle: GOST 19781-90. Software pro systémy zpracování informací. Termíny a definice. - M.: Nakladatelství standardů, 1990.

Poznámka: program je data. Jedním ze základních principů von Neumannova stroje je, že programy i data jsou uloženy ve stejné paměti. Program uložený v paměti se skládá z některých kódů, které lze považovat za data. Možná z pohledu programátora je program aktivní komponentou, která provádí nějaké akce. Ale z pohledu procesoru jsou instrukce programu data, která procesor čte a interpretuje. Na druhou stranu program jsou data z pohledu servisních programů, například z pohledu kompilátoru, který na vstupu přijímá jedno data - program ve vysokoúrovňovém jazyce (HLL), a na výstupu produkuje další data - program ve strojovém kódu.

Software (SW) - soubor SOI programů a programových dokumentů nezbytných pro jejich provoz

Je důležité, aby software byl programy určené k opakovanému použití a aplikaci různými uživateli. V tomto ohledu byste měli věnovat pozornost řadě nezbytných softwarových vlastností.

    Potřeba dokumentace. Podle definice se programy stávají softwarem, pouze pokud mají dokumentaci. Koncový uživatel nemůže pracovat bez dokumentace. Dokumentace umožňuje replikovat software a prodávat jej bez jeho vývojáře. Chybou v softwaru je podle Brookse situace, kdy softwarový produkt nefunguje v souladu s jeho popisem, proto je chyba v dokumentaci také chybou softwarového produktu.

    Účinnost. Software určený pro opakované použití (například OS, textový editor atd.) je napsán a odladěn jednou a mnohokrát spuštěn. Je tedy výhodné přenést náklady do fáze výroby softwaru a osvobodit fázi provádění od nákladů, aby se zabránilo replikaci nákladů.

    Spolehlivost. Počítaje v to:

    • Testování programu pro všechny platné specifikace vstupních dat

      Ochrana proti nesprávným akcím uživatele

      Ochrana proti hackerům – uživatelé by měli mít možnost komunikovat se softwarem pouze prostřednictvím legálních rozhraní.

Gauthier: "Chyby v systému jsou možné kvůli selhání hardwaru, chybám softwaru a nesprávným akcím uživatele, první jsou nevyhnutelné, druhé jsou pravděpodobné, třetí jsou zaručené." Výskyt chyb jakékoli úrovně by neměl vést k pádu systému. Chyby musí být zachyceny, diagnostikovány a (pokud je nelze opravit) přeměněny na správná selhání.

Systémové datové struktury musí být bezpodmínečně zachovány. Zachování integrity uživatelských dat je žádoucí.

    Možnost doprovodu. Možné cíle údržby zahrnují přizpůsobení softwaru konkrétním podmínkám aplikace, odstranění chyb a úpravy.
    Ve všech případech je nutné pečlivé strukturování softwaru a nosičem informací o struktuře softwaru by měla být programová dokumentace.
    Adaptace v mnoha případech může být svěřeno uživateli – s pečlivým vývojem a popisem instalačních a konfiguračních scénářů.
    Oprava chyb vyžaduje vyvinuté servisní oddělení, které shromažďuje informace o chybách a generuje opravné balíčky.
    Úprava zahrnuje změnu specifikací softwaru. Zpravidla by však měly být podporovány i starší specifikace. Evoluční vývoj softwaru šetří uživatelské investice.

Systémové programování

Systémový program - program určený k zachování funkčnosti SOI nebo zvýšení efektivity jejího využívání.

Aplikační program je program určený k řešení problému nebo třídy problémů v konkrétní oblasti použití SOI.

Systémové programování je v souladu s terminologií proces vývoje systémových programů (včetně řídicích a údržbových).

Na druhou stranu, podle Hegelovy definice, systém je jeden celek skládající se z mnoha komponent a mnoha spojení mezi nimi. Systémové programování je pak vývoj programů složité struktury.

Tyto dvě definice si vzájemně neodporují, protože vývoj programů komplexní struktury se provádí právě pro zajištění výkonu nebo zvýšení efektivity SOI.

Rozdělení softwaru na systémový a aplikační zafixované v GOST je do jisté míry zastaralé. Dnešní divize poskytuje minimálně tři gradace softwaru:

    Systémový

    středně pokročilí

    Aplikovaný

Middleware definujeme jako soubor programů, které spravují sekundární (vytvořené samotným softwarem) zdroje zaměřené na řešení konkrétní (široké) třídy problémů. Takový software zahrnuje správce transakcí, databázové servery, komunikační servery a další softwarové servery. Z hlediska vývojových nástrojů je middleware blíže aplikačnímu softwaru, protože nepracuje přímo s primárními zdroji, ale využívá k tomuto účelu služby poskytované systémovým softwarem. Z hlediska algoritmů a vývojových technologií je middleware blíže systémovému softwaru, neboť se vždy jedná o komplexní softwarový produkt opakovaného a víceúčelového použití a používá stejné nebo podobné algoritmy jako systémový software.

Současným trendem ve vývoji softwaru je snižovat objem systémového i aplikačního programování. Většina práce programátorů se provádí v middlewaru. Snížení objemu programování systému je dáno moderní koncepcí OS, objektově orientovanou architekturou a architekturou mikrojádra, podle kterých je většina systémových funkcí přenesena do utilit, které lze také zařadit mezi middleware. Pokles objemu programování aplikací je způsoben tím, že moderní middlewarové produkty nabízejí stále větší sadu nástrojů a šablon pro řešení problémů své třídy.

Významná část systému a téměř veškerý aplikační software je napsán ve vyšších jazycích, což snižuje náklady na jejich vývoj/úpravu a přenositelnost.

Systémový software se dělí na programy pro řízení systému a programy na údržbu systému.

Řídicí program je systémový program, který implementuje soubor řídicích funkcí, který zahrnuje řízení zdrojů a interakci s vnějším prostředím SOI, obnovení provozu systému po výskytu poruch v technických prostředcích.

Program údržby (utilita) - program určený k poskytování obecných služeb uživatelům SOI a servisnímu personálu.

Ovládací program spolu se sadou utilit nezbytných pro provoz systému tvoří operační systém (OS).

Kromě nástrojů obsažených v OS mohou existovat další nástroje (od stejných výrobců nebo výrobců třetích stran), které provádějí další (volitelnou) údržbu. Zpravidla se jedná o utility, které zajišťují vývoj softwaru pro operační systém.

Programovací systém - systém tvořený programovacím jazykem, překladačem nebo interpretem programů prezentovaných v tomto jazyce, odpovídající dokumentací a také pomocnými nástroji pro přípravu programů ve formě vhodné k provedení.

Fáze přípravy programu

Při vývoji programů, a to ještě složitějších, se používá princip modularity, rozkládající složitý program na součásti, z nichž každou lze připravit samostatně. Modularita je hlavním nástrojem pro strukturování softwarového produktu, který usnadňuje jeho vývoj, ladění a údržbu.

Softwarový modul je program nebo funkčně kompletní část programu určená pro uložení, překlad, spojení s jinými programovými moduly a načtení do paměti RAM.

Při výběru modulární struktury je třeba vzít v úvahu následující klíčové faktory:

    Funkčnost - modul musí plnit kompletní funkci

    Odpojení - modul musí mít minimum spojení s ostatními moduly, komunikace přes globální proměnné a oblasti paměti je nežádoucí

    Specifičnost - vstupní a výstupní parametry modulu musí být jasně formulovány

Obrázek ukazuje fáze, kterými program prochází od svého zápisu po spuštění.

P
Program je napsán ve formě počátečního modulu, na obrázku - soubor IM.

Zdrojový modul - softwarový modul ve zdrojovém jazyce, zpracovaný překladatelem a předložený mu jako celek dostatečný k provedení překladu.

První (není povinná pro všechny programovací jazyky) fází přípravy programu je jeho zpracování Makroprocesor (nebo Preprocesor). Makroprocesor zpracovává text programu a výstupem je nová edice textu (na obrázku - IM Ve většině programovacích systémů je Makroprocesor kombinován s překladačem a pro programátora není jeho práce a prostřední IM vidět). . Je třeba mít na paměti, že makroprocesor provádí zpracování textu, což na jedné straně znamená, že „nerozumí“ operátorům programovacího jazyka a „nezná“ proměnné programu, na druhé straně všechny operátory a proměnné makrojazyka (ty výrazy v programu, které jsou adresovány makroprocesoru) již nejsou přítomny v mezilehlém IM a nejsou viditelné pro další fáze zpracování Pokud tedy makroprocesor nahradil nějaký text A textem B v programu, pak překladatel již vidí pouze text B a neví, zda tento text napsal programátor "vlastní rukou" nebo jej nahradil Makroprocesor.

Další fáze je vysílána.

Překlad je transformace programu prezentovaného v jednom programovacím jazyce na program v jiném programovacím jazyce, v určitém smyslu (logickém, funkčním) ekvivalentním prvnímu.

Výstupním jazykem překladače je zpravidla strojový jazyk cílového počítačového systému. (Cílové letadlo je letadlo, na kterém bude program spuštěn.)

Strojový jazyk je programovací jazyk určený k reprezentaci programu ve formě, která umožňuje jeho přímé provádění technickými prostředky zpracování informací.

Překladatelé jsou obecný název pro programy, které vysílají. Dělí se na Assemblery a Kompilátory – v závislosti na zdrojovém jazyce programu, který zpracovávají. Assemblery pracují s Autocodes nebo Assemblery, kompilátory pracují s jazyky na vysoké úrovni.

Autocode je symbolický programovací jazyk, jehož struktura je v podstatě podobná příkazům a zpracovávaným datům konkrétního strojového jazyka.

Jazyk symbolických instrukcí je programovací jazyk, který je symbolickou formou strojového jazyka s řadou vlastností charakteristických pro vysokoúrovňový jazyk (obvykle zahrnuje funkce maker).

Vysokoúrovňový jazyk je programovací jazyk, jehož koncepce a struktura jsou vhodné pro lidské porozumění.

Objektový modul je softwarový modul získaný překladem zdrojového modulu.

Vzhledem k tomu, že výsledkem překladu je modul v jazyce blízkém strojovému jazyku, neexistuje již žádný údaj o zdrojovém jazyce, ve kterém byl softwarový modul napsán. To vytváří základní možnost vytváření programů z modulů napsaných v různých jazycích. Specifika zdrojového jazyka však mohou ovlivnit fyzickou reprezentaci základních datových typů, způsoby přístupu k procedurám/funkcím atd. Pro kompatibilitu vícejazyčných modulů musí být zachovány obecné konvence.

Většina objektového modulu jsou instrukce a data ve strojovém jazyce přesně ve formě, ve které budou existovat během provádění programu. Program se však obecně skládá z mnoha modulů. Protože překladač zpracovává pouze jeden konkrétní modul, nemůže správně zpracovat ty části tohoto modulu, které jsou naprogramovány pro volání dat nebo procedur definovaných v jiném modulu. Takové požadavky se nazývají externí odkazy. Ta místa v modulu objektu, která obsahují externí odkazy, jsou převedena do nějaké mezilehlé formy, která je předmětem dalšího zpracování. Objektový modul se nazývá program ve strojovém jazyce s nevyřešenými externími odkazy.

Rozlišení externích odkazů se provádí v další fázi přípravy, kterou zajišťuje Link Editor (Linker). Link Editor spojuje dohromady všechny moduly objektů obsažené v programu. Protože Link Editor již „vidí“ všechny součásti programu, má schopnost zpracovat ta místa v objektových modulech, která obsahují externí odkazy. Výsledkem editoru odkazů je načítací modul.

Spouštěcí modul je softwarový modul prezentovaný ve formě vhodné pro načtení do paměti RAM za účelem provedení.

Zaváděcí modul se uloží jako soubor na externí paměť. Aby byl program spuštěn, musí být přenesen (nahrán) do RAM. Někdy je vyžadováno nějaké další zpracování (například nastavení adres v programu do oblasti RAM, do které byl program načten). Tuto funkci provádí Boot Loader, který je obvykle součástí operačního systému.

Je také možné, že úpravy odkazů se provádějí při každém spuštění programu ke spuštění a v kombinaci s načítáním. To dělá Binding Loader. Možnost vazby při spuštění je postradatelnější, protože Náklady na vázání se replikují při každém běhu. Ale poskytuje:

    větší flexibilita při údržbě, protože umožňuje měnit jednotlivé objektové moduly programu bez změny jiných modulů;

    úspora externí paměti, protože objektové moduly používané v mnoha programech nejsou zkopírovány do každého zaváděcího modulu, ale jsou uloženy v jediné kopii.

Možnost interpretace zahrnuje přímé provedení původního modulu.

Interpretace je uvědomění si významu nějakého syntakticky úplného textu prezentovaného v konkrétním jazyce.

Interpret přečte další programovou větu ze zdrojového modulu, přeloží ji do strojového jazyka a provede ji. Veškeré náklady na přípravu se replikují s každým provedením, interpretovaný program je proto zásadně méně efektivní než přeložený. Interpretace však poskytuje snadný vývoj, udržovatelnost a přenositelnost.

Příklady tlumočníků: procedurální jazyky ​​(prodej, REXX), JVM.

Není nutné, aby byl program připraven na stejném počítačovém systému a ve stejném operačním prostředí, ve kterém bude program spouštěn. Systémy, které zajišťují přípravu programů v jiném než cílovém prostředí, se nazývají mezisystémy. V křížovém systému lze provádět veškerou přípravu nebo její jednotlivé fáze:

    Zpracování maker a vysílání

    Úprava odkazů

Typická aplikace mezi systémy je pro případy, kdy cílové výpočetní prostředí jednoduše nemá prostředky potřebné k přípravě programů, jako jsou vestavěné systémy.

Softwarové nástroje, které zajišťují ladění programu na cílovém systému, lze také považovat za speciální případ mezisystému.




Horní