Podobne dokumenty
Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Wstęp do Informatyki. Klasyfikacja oprogramowania

Podstawy programowania

Programowanie komputerów

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Technologia Informacyjna

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Programowanie w C. dr inż. Stanisław Wszelak

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Języki i metodyka programowania

Programowanie w języku C++ Grażyna Koba

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Paweł Skrobanek. C-3, pok

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

Komputer i urządzenia z nim współpracujące.

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Translacja wprowadzenie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2

Technologie informacyjne - wykład 12 -

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

KURS ACCESS 2003 Wiadomości wstępne

Systemy liczenia. 333= 3*100+3*10+3*1

System komputerowy. System komputerowy

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Podstawy Informatyki Języki programowania c.d.

Rodzina systemów Microsoft Windows 1. Rodzina systemów Microsoft Windows

Programowanie w języku Python. Grażyna Koba

Informatyka. Michał Rad

Wprowadzenie do programowania

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Podstawa programowa Technik informatyk PODSTAWA PROGRAMOWA KSZTAŁCENIA W ZAWODZIE TECHNIK INFORMATYK SYMBOL CYFROWY 312[01]

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

Java EE produkcja oprogramowania

SYSTEM LOJALNOŚCIOWY. Opis wersji PLUS programu

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Tworzenie oprogramowania

Wykorzystanie szkolnych pracowni komputerowych w nauczaniu przedmiotów ogólnokształcących i zawodowych


Kernel Kompilacja jądra

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

JAK W SYSTEMIE MS WINDOWS PRZYGOTOWAĆ PRACĘ DYPLOMOWĄ W WERSJI PDF?

Wprowadzenie do inżynierii przetwarzania informacji

PR P E R Z E E Z N E T N A T C A JA C JA KO K RP R O P RA R C A Y C JN Y A JN ACTINA DATA MANAGER

Poszczególne punkty napisali (* oznacza współautorstwo):

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

Autorzy opracowania (* oznacza współautorstwo):

Opracował: Jan Front

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI DK Wszystkie prawa zastrzeżone

Informacje i zalecenia dla zdających egzamin maturalny z informatyki

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Skarbnik CE na PocketPC 2003

Generator Wniosków Płatniczych dla Programu Operacyjnego Kapitał Ludzki. Instrukcja Instalacji

Technik informatyk Symbol

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Metody Kompilacji Wykład 1 Wstęp

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

UśYTKOWANIE KOMPUTERÓW

Instrukcja Instalacji

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Narzędzia administracyjne Windows XP

3.1. Na dobry początek

Na podstawie 6 ust. 1 oraz 10 ust. 1 Regulaminu Organizacyjnego ACK Cyfronet AGH z dnia 28 kwietnia 2005 roku zarządzam co następuje:

Podstawy programowania wykład

Systemy Operacyjne struktura

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Przede wszystkim autor ma oficjalne prawo do autorstwa utworu, rozpowszechniania go pod wyznaczonym pseudonimem, kontroli nad

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Wykład I. Wprowadzenie do baz danych

Instalacja programu Warsztat 3 w sieci

Program ZwCAD w skrócie.

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

LEKCJA TEMAT: Zasada działania komputera.

technologii informacyjnych kształtowanie , procesów informacyjnych kreowanie metod dostosowania odpowiednich do tego celu środków technicznych.

Warszawa, lipiec 2013 r.

Licencjonowanie oprogramowania

Laboratorium Wiedzy REALIZOWANEGO W RAMACH PROJEKTU AKTYWIZACJA JEDNOSTEK SAMORZĄDU TERYTORIALNEGO I ORGANIZACJI POZARZĄDOWYCH TERAZ SZKOŁA

Wymagania - informatyka

SYSTEM OPERACYJNY. Monika Słomian

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Kierunek i poziom studiów: Chemia, pierwszy. Sylabus modułu: Technologia informacyjna (0310-CH-S1-003) 1. Informacje ogólne

INTERFEJ SYSTEMU MIZAR-4

5. Administracja kontami uŝytkowników

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

I. Informacje i zalecenia dla zdających egzamin maturalny z informatyki

program dla opracowujących wnioski o dotacje

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Transkrypt:

Programowanie. Oprogramowanie Pojęcia wstępne Programem - sekwencja rozkazów, które instruują komputer, jakie operacje i w jakiej kolejności powinien wykonać, by rozwiązać określony problem. Programowanie - czynność polegająca na konstruowaniu (pisaniu) programu nazywamy. Programista - osoba wykonująca tę czynność. Oprogramowanie - zbiór róŝnych programów wykorzystywanych w systemie, mających zastosowanie do róŝnych celów. Oprogramowanie 2 Pojęcia wstępne (2) Języki programowania sztuczne (nie etniczne) jednoznaczne języki zaprojektowane specjalne do pisania programów. Język wewnętrzny jedyny język zrozumiały dla procesora. Program wykonywalny (binarny) program napisany w języku wewnętrznym. Program źródłowy program napisany w języku komputerowym niezrozumiałym dla procesora, wymagający przetłumaczenia. Oprogramowanie 3 Pojęcia wstępne (3) Translacja (w formie kompilacji lub interpretacji) tłumaczenie programu napisanego w języku źródłowym na język wewnętrzny. Oprogramowanie 4 Podział funkcjonalny oprogramowania WyobraŜenie uŝytkownika nt. pracy na komputerze oprogramowanie systemowe oprogramowanie uŝytkowe oprogramowanie narzędziowe (usługowe) tutaj zaliczymy je do oprogramowania systemowego. Oprogramowanie 5 Oprogramowanie 6 1

Rzeczywistość Oprogramowanie systemowe zbiór programów zaprojektowanych, by wspomagać całość systemu komputerowego, przez koordynację działania poszczególnych składników sprzętu i oprogramowania uŝytkowego. system operacyjny oprogramowanie narzędziowe i pomocnicze translatory języków programowania Oprogramowanie 7 Oprogramowanie 8 System operacyjny (1) to program zarządzający wszystkimi zasobami systemu komputerowego: zarówno sprzętowymi, jak i programowymi. to zorganizowany zbiór programów pełniących rolę pośredniczącą między sprzętem a uŝytkownikami, dostarczając uŝytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów, a w tym samym czasie sterują odpowiednim przydziałem zasobów, w celu zapewnienia System operacyjny (2) UŜytkownicy niekiedy stykają się wprost z systemem operacyjnym, zlecając mu wykonanie pewnych funkcji, jak np. kopiowanie plików, zmiany nazw plików, itp., częściej jednak wykorzystują programy uŝytkowe, które z kolei korzystają z moŝliwości systemu operacyjnego, który wykonuje za nich wiele funkcji związanych z bezpośrednim odwoływaniem do sprzętu. efektywnego działania całego systemu. Oprogramowanie 9 Oprogramowanie 10 Schemat korzystania z systemu komputerowego Oprogramowanie 11 System operacyjny (3) Pojęcie systemu operacyjnego podlega ciągłej ewolucji. Poszczególni producenci mają ambicje włączania w ich skład coraz to nowych części, realizujących coraz więcej funkcji. NajwaŜniejszą częścią kaŝdego systemu operacyjnego jest tzw. jądro. Jest to część systemu operacyjnego, która pozostaje w pamięci operacyjnej przez cały czas pracy komputera. Uruchomienie w komputerze Ŝadnego programu nie jest moŝliwe bez obecności jądra w pamięci Oprogramowanie operacyjnej. 12 2

Podstawowe funkcje systemów operacyjnych 1. zarządzanie procesorem, 2. zarządzanie pamięcią operacyjną, 3. zarządzanie urządzeniami zewnętrznymi, 4. zarządzanie informacjami (programami i danymi), 5. interpretacja poleceń uŝytkownika. Oprogramowanie 13 Systemy operacyjne wielodostępne i sieciowe Systemy operacyjne wielodostępne umoŝliwiają jednoczesną pracę wielu uŝytkowników na jednym komputerze (np. Unix, MVS). Systemy operacyjne sieciowe umoŝliwiają współpracę wielu połączonych ze sobą komputerów (np. Windows NT, Windows 2000, XP, Novel Netware). ZłoŜoność takich systemów operacyjnych jest zwiększona ze względu na konieczność synchronizacji pracy wielu uŝytkowników, przy jednoczesnym zapewnieniu odpowiedniej wydajności systemu Oprogramowanie 14 komputerowego jako całości. Oprogramowanie narzędziowe (usługowe) i pomocnicze Ułatwiają uŝytkownikom zarządzanie systemem, a nawet rozszerzają moŝliwości systemu operacyjnego. O ile istnienie systemu operacyjnego jest niezbędne do działania komputera, to programy narzędziowe i pomocnicze ułatwiają i upraszczają posługiwanie się nim. Jest to zbiór programów bardzo zróŝnicowany pod względem wypełnianych przez nie funkcji szczegółowych: diagnostyczne, optymalizujące i wiele, wiele innych. Oprogramowanie 15 Translatory języków oprogramowania System operacyjny jest niezbędny do uruchomienia komputera, programy usługowe ułatwiają zarządzanie systemem, a translatory są potrzebne tylko wtedy, gdy chcemy tworzyć nowe oprogramowanie. Translatory stanowią programową część całości, która nosi nazwę systemu programowania, w którego skład wchodzi: język programowania, traktowany jako zbiór symboli i reguł syntaktycznych oraz semantycznych, właściwy translator, czyli program tłumaczący, często równieŝ inne elementy, takie jak edytor czy Oprogramowanie 16 teŝ program uruchomieniowy (ang. debugger). Oprogramowanie uŝytkowe automatyzacja prac biurowych (edytory tekstów, arkusze kalkulacyjne, programy prezentacyjne i graficzne, pakiety zintegrowane), wspomaganie zarządzania gospodarczego, ułatwianie prac inŝynierskich i badawczych, sterowanie procesami technologicznymi, oprogramowanie telekomunikacyjne, programy dydaktyczne i rozrywkowe i wiele innych Oprogramowanie 17 uzyskania - programy standardowe rozpowszechniane wśród uŝytkowników o podobnych potrzebach i posługujących się jednorodnym sprzętem. Olbrzymi rynek masowa sprzedaŝ. Cena jednostkowa takiego oprogramowania jest stosunkowo niska i stanowi niewielki odsetek kosztu produkcji pojedynczego egzemplarza. Oprogramowanie 18 3

uzyskania - programy standardowe (2) Oprogramowanie uniwersalne - spełniać musi większość, jeśli nie wszystkie, potrzeby potencjalnych uŝytkowników -uniwersalność ta powoduje, Ŝe poszczególni uŝytkownicy wykorzystują jedynie niewielką część dostępnych moŝliwości Koszty eksploatacji takiego oprogramowania są niewielkie: samodzielna instalacja, help przez telefon. Częste kolejne wersje, poszerzone i lepiej dostosowane do aktualnie rozpowszechnionego sprzętu, udostępniane dotychczasowym uŝytkownikom za niewielki odsetek aktualnej ceny. Oprogramowanie 19 uzyskania - programy niskoseryjne Specjalistyczne oprogramowanie, na które zapotrzebowanie jest stosunkowo niewielkie. Koszt jednostkowy takiego oprogramowania jest oczywiście o wiele wyŝszy, niŝ programów standardowych, ale istnieje moŝliwość lepszego dostosowania go do aktualnych potrzeb uŝytkowników. Instalacji takiego oprogramowania i dostrojenia całego systemu dokonuje zazwyczaj pracownik firmy sprzedającej oprogramowanie. Oprogramowanie 20 uzyskania - programy indywidualne Na indywidualne zamówienie. Oprogramowanie takie moŝna stworzyć własnymi siłami, moŝna teŝ wynająć odpowiednią firmę, która podejmie się takiego zadania. Coraz rzadsza sytuacja. Na indywidualne oprogramowanie decydują się organizacje, których działalność jest nietypowa w skali kraju (np. urzędy centralne). Programy bezpłatne (ang. freeware). Są to programy, co do których autor zrezygnował z prawa własności i ochrony dóbr intelektualnych. Zrzekając się tych praw autor niekiedy udostępnia nie tylko program wykonywalny, ale równieŝ jego wersję źródłową. Oprogramowanie 21 Oprogramowanie 22 Programy shareware. Właścicielem prawa do programów zaliczanych do tej grupy jest firma lub osoba, która bezpłatnie udostępnia program potencjalnym uŝytkownikom. Programy te są prawnie chronione, mają zastrzeŝone prawa autorskie, a uŝytkownik posiada je tylko na próbę (kilkadziesiąt dni, niektóre opcje programu są wyłączone). Po upływie tego terminu uŝytkownik ma obowiązek wykasowania programu lub wniesienia na rzecz autora lub producenta stosownej opłaty rejestracyjnej. Nabiera on wtedy pełnych praw do wykorzystywania tego programu. Opłata jest dosyć niska. Programy licencjonowane. Programy zaliczane do tej grupy pozostają własnością autora lub firmy producenckiej. UŜytkownik kupuje licencję na odpowiednią liczbę kopii, nabywa prawo do zainstalowania określonej w umowie liczby kopii tego oprogramowania. Stanowią najpewniejsze źródło uzyskania niezawodnego oprogramowania - firma dystrybucyjna lub producent zapewniają doradztwo, serwis, dokumentację i gwarancję. Cieszą się sporą popularnością. Oprogramowanie 23 Oprogramowanie 24 4

Programy własne. Instytucja zlecająca wykonanie indywidualnego oprogramowania moŝe, jeśli jest to zapisane w umowie, stać się pełnym właścicielem oprogramowania. Staje się tak teŝ w przypadku, gdy instytucja produkuje oprogramowanie siłami własnych pracowników. Właściciel moŝe w pełni zmieniać to oprogramowanie, udostępniać innym itd. To bardzo kosztowny sposób uzyskania oprogramowania, ale stosunkowo bezpieczny, gdyŝ będąc właścicielem kodu źródłowego jest się niezaleŝnym od zewnętrznych dostawców. Oprogramowanie 25 Języki programowania komputerów - wewnętrzne symboliczne (asemblerowe) wysokiego poziomu języki czwartej generacji (4GL) języki naturalne (? moŝe w przyszłości?) Oprogramowanie 26 Języki wewnętrzne KaŜdy typ procesora (serii procesorów) posiada swój własny język wewnętrzny. Programy napisane w tych językach noszą nazwę programów binarnych (wynikowych, wewnętrznych, wykonywalnych). Program w języku wewnętrznym składa się z ciągu zrozumiałych dla procesora prostych rozkazów; rozkazy te przedstawione są w postaci odpowiedniej sekwencji zer i jedynek. Programy tego typu są bardzo trudne do zrozumienia przez człowieka, trudne do analizy, a ręczne dokonanie zmiany w takim programie jest praktycznie niemoŝliwe. Języki symboliczne (asemblerowe) Stanowiły spore ułatwienie dla programistów. Kod rozkazu, jak i jego argumenty zapisywane były nie w postaci 0/1, lecz przy pomocy skrótów (np. ADD, SUB, MOV) i dziesiętnych wartości liczbowych. Program napisany w języku symbolicznym przed swym pierwszym wykonaniem musi być przetłumaczony na język wewnętrzny. Operację tłumaczenia wykonuje się za pomocą specjalnego programu zwanego asemblerem. Nie dadzą się przenosić Oprogramowanie na inne procesory. 27 Oprogramowanie 28 Języki wysokiego poziomu Pod koniec lat 50-tych (Fortran, Cobol) DuŜe ułatwienie dla programistów - mogli skoncentrować się na rozwiązywaniu problemów merytorycznych. Programy tego typu przypominają pewien mniej lub bardziej sformalizowany zapis matematyczny. MoŜna je łatwo przenosić na komputery innego typu. Produktywność pracy programistów po wprowadzeniu języków wysokiego poziomu Języki wysokiego poziomu (2) Program napisany w języku wysokiego poziomu (program źródłowy), nie jest zrozumiały dla procesora, dlatego przed wykonaniem musi zostać poddany procesowi tłumaczenia (translacji) na język wewnętrzny. Czynność ta wykonywana jest przez specjalne programy, zwane ogólnie translatorami: kompilatory (gdy proces tłumaczenia jest niezaleŝny i w całości poprzedza proces wykonywania programu) interpretery (gdy proces tłumaczenia i wykonywania programu przeplatają się). wyraźnie wzrosła. Oprogramowanie 29 Oprogramowanie 30 5

Języki czwartej generacji (4GL - 4 Generation Language) Programowanie jest jeszcze prostsze i wygodniejsze, gdyŝ programista opisuje jedynie, co ma być zrobione. Zwykle stosuje się je w powiązaniu z bazami danych, stąd druga nazwa języków tego poziomu: języki baz danych. Polecenia programisty powodują automatyczną generację kodu programu, na postać której ma on niewielki wpływ. Języki naturalne Przyszłość (?) Oprogramowanie 31 Oprogramowanie 32 6