❖ interpretowane- tekst źródłowy interpretowany przez tzw. „maszynę wirtualną” (np. Lisp) (Pascal to technologia mieszana)
Kompilator- translator języka wysokiego poziomu . którego programy wynikowe mogą być wprowadzone do pamięci i wykonane dopiero po zakończeniu tłumaczenia całego programu; programy wynikowe kompilatora, mogą być przechowywane, łączone z innymi programami i wielokrotnie wykonywane znacznie szybciej niż programy interpretowane;
Historia języków:
• Simula-67 - lata 6()-te
• Smalllalk- lata 70-te (ale rozwój w 90-tych)
• Pascal. C - lata 70-tc
• Ada - początek lat 80-tych
• C++- początek lat 80-tych
• Java- połowa lat 90-tych
Jakość oprogramowania:
> poprawność (con ectness)- progr am ma robić dokładnie i poprawnie to co zostało zdefiniowane w specyfikacji
> odporność (robustness)- program ma zachowywać się sensownie w każdej, nawet nic przewidywalnej, sytuacji
> modyfikowałność i rozszerzalność - program musi być łatwo dostosowywalny do zmian w specyfikacji
> możliwość wielokrotnego użycia elementów projektu i programu (rcusability)- typowe fragmenty programu muszą dać się łatwo użyć w innych programach lub w tym samym programie
> kompatybilność
> efektywność
> przenaszalność
Jak osiągnąć cele jakości oprogramowania?
^ modulamość, programowanie strukturalne, wielokrotny użytek procedur (funkcji) - Pascal, Modula 2,
C
^ wielokrotny użytek całych struktur danych, ochrona danych - Modula?
^ wielokrotny użytek struktur danych i obiektów, hennetyzacja poprzez klasy i dziedziczenie - języki obiektowe
Użycie metodologii obiektowej (od analizy, poprzez projekt, do programu):
* przyspiesza proces tworzenia systemu poprzez wielokrotne użycie elementów
♦ ułatwia modyfikalność i rozszerzalność
* pozwala szybko stworzyć prototyp
System operacyjny:
wg Abrahama Silbcrschatza: „System operacyjny jest programem, który działa jako pośrednik miedzy użytkownikiem komputera a sprzętem komputerowym. Zadaniem systanu operacyjnego jest twa zenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny"
•=> wg Andrew Tancnbauma: „System operacyjny jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerow-ego i stwa zenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania”
Ogólna struktura systemu operacyjnego: sprzęt-jądro systemu operacyjnego- programy systemowe-interpreter poleceń;
Klasyfikacja systemów operacyjnych ze względu na sposób przetwarzania:
* systemy przetwarzania bezpośredniego (ai-lincprccessingsystcms)- systemy interakcyjne:
♦ występuje bezpośrednia interakcja pomiędzy użytkownikiem a sy stanem
♦ wykonywanie zadań użytkownika rozpoczyna się zaraz po przedłożauu
* systemy przetwarzania pośledniego (ofT-lincprcccssingsystcms)- systemy wsadowe
a występuje istotna, nieznana zwłoka czasowa miedzy przedłożeniem zadania a rozpoczęciem jego wykonywania
♦ niemożliwa jest integracja użytkownika wr wykonywanie zadania