Pomóżcie z odpowiedzią na kilka zadań z testu :)

0

Witam mam problem z odpowiedzeniem na kilka zadań z testu wielokrotnego wyboru. Czy mogę liczyć na waszą pomoc?

  1. Które z wymienionych zadań powinny być wykonywane tylko w trybie chronionym?
    a) wyłącz obsługę wszystkich przerwań (moja odp ale z polecenia wynika że jest jeszcze ich więcej)
    b) odczytaj bieżącą datę
    c) ustaw bieżącą datę i czas
    d) przedefiniuj mapę pamięci

  2. Wybierz poprawne, podstawowe pojęcia związane z zarządzaniem systemem operacyjnym: wg mnie poprawne odp to a oraz b
    a) procesy, zakleszczenia, zarządzanie pamięci
    b) kanały wejścia/wyjścia, podsystem plików, bezpieczeństwo zasobów
    c) procesory, zablokowania, zarządzanie pamięci
    d) podsystem danych, bezpieczeństwo obsługi

  3. Wybierz możliwe stany procesów w systemach wieloprogramowych z podziałem czasu: wydaje mi się że odp a, b, d
    a) oczekujący na zdarzenie zewnętrzne
    b) wykonywalny i zawieszony na czas wykonania innego procesu
    c) wykonany
    d) wykonywany bez przerwy

  4. Wybierz możliwe przejścia pomiędzy stanami procesów: tutaj nie mam pojęcia.. :/
    a) proces działa niezależnie od stanu wejścia
    b) specyficzny proces decyduje o odebraniu sterowania
    c) wejście staje się dostępne
    d) proces zawiesza działanie w oczekiwaniu na wejście

  5. Pojęcie "prawa dostępu" oznacza jakie działania mogą być wykonywane na: wg mnie a, b
    a) pliku: odczyt, zapis, uruchamianie zwykłe lub rezydentne, dostęp wyłączny lub współdzielony
    b) katalogu: wejście do, przeglądanie
    c) pliku: odczyt, zapis, uruchamianie zwykłe lub wsadowe, dostęp chroniony
    d) systemie plików: montowanie zwykłe lub automatyczne, odmontowanie, inicjalizacja

  6. Na czym polega uruchomienie skryptu w powłoce bash poprzez podanie jego nazwy i znaku & ? wg mnie a na 100% ale nie wiem czy d
    a) na utworzeniu odrębnego procesu podpowłoki i wykonaniu komend skryptu przez podpowłokę
    b) na utworzeniu odrębnego procesu podpowłoki, na którego zakończenie będzie oczekiwać powłoka macierzysta
    c) na wykonaniu komend skryptu przez macierzysty proces powłoki
    d) na wykonaniu komend skryptu przez podpowłokę bez synchronizacji czasu zakończenia z powłoką macierzystą

  7. Co to są wirtualne maszyny?? niestety nie wiem ;/
    a) Wirtualne maszyny są to procesy imitujące pracę systemu operacyjnego w wyodrębnionej przestrzeni adresowej
    b) wirtualne maszyny są dokładnymi kopiami maszyny wraz z trybami pracy (kernela/użytkowy) i obsługą wejścia/wyjścia
    c) wirtualne maszyny są to procesy imitujące pracę systemu operacyjnego wraz z mechanizmami współdzielenia przestrzeni adresowej
    d) wirtualne maszyny są dokładnymi kopiami maszyny wraz z trybami pracy (chroniony/użytkowy), przerwaniami i obsługą wejścia/wyjścia

  8. Wybierz poprawną interpretację wartości (count) zwracanej przez count = write(fd,bufor,nbajtów): wg mnie a, c
    a) numer nowoutworzonego procesu w wyniku wykonania funkcji
    b) uchwyt do pliku otwartego w wyniku wykonania funkcji
    c) rozmiar otwartego pliku w bajtach
    d) ilość bajtów zapisanych do otwartego pliku w wyniku wykonania funkcji

  9. Jakie jest działanie funkcji lseek(fd,liczba,pozycja): wg mnie b, c
    a) odczyt "liczba" bajtów z pliku "fd" od pozycji "pozycja"
    b) ustawienie wskaźnika dostępu do pliku do odczytu/zapisu bajtu na pozycji "liczba" licząc od punktu odniesienia wskazanego parametrem "pozycja"
    c) ustawienie wskaźnika dostępu do pliku do odczytu/zapisu bajtu na pozycji "pozycja" licząc od punktu odniesienia wskazanego parametrem "liczba"
    d) przeszukanie "liczba" bajtów z pliku "fd" od pozycji "pozycja"

Z góry dzięki za pomoc! :)

0

Napisz swoje odpowiedzi.

  1. Moim zdaniem też a,b
  2. b chyba nie jest poprawne bo nie ma stanu "wykonywalny" tylko raczej "wykonywany", za to zastanowiłbym się nad c bo linux na przykład ma taki stan procesu
  3. a oraz d, dodanie & sprawia że uruchamiasz dany proces "w tle"
  4. Czy ty w ogóle czytasz te pytania czy strzelasz? o_O tutaj ewidentnie poprawna jest tylko jedna odpowiedź, bo ta funkcja zwraca jednego inta. Jak on niby miałby nieść informację o dwóch różnych rzeczach? O_O Dokumentacja mówi

Returns the number of bytes that were written. If value is negative, then the system call returned an error.

więc odpowiedź d
10. jw. WTF? Jak niby według ciebie ta funkcja miałaby JEDNOCZEŚNIE ustawić wskaźnik dostępu do pliku na dwie różne wartości? To gdzie ten wskaźnik finalnie by się znalazł?
Drugi argument to "offset" a trzeci to "pozycja startowa", więc odpowiedź b

0
  1. Dodalbym jeszcze d. Wydaje mi sie ze sa tam zbyt wazne dane zeby w zwyklym trybie mozna bylo cos tam nadpisywac.
  2. Procesy w kazdym systemie moga byc w stanie: nowo utworzony -> oczekujacy na wykonanie -> wykonywany -> oczekujacy/zablokowany(wraca do 2 stanu) -> zakonczony/wykonany ( wiec tutaj bym odrzucil d bo to tak na prawde to nie jest stan. To czy proces zostanie przerwany zalezy od jego priorytetu i czy system jest ustawiony na wywlaszczanie, a nie od samego stanu procesu) Ja stawiam a,b,c (wykonywalny bedzie tutaj drugim stanem, czyli zostal utworzony i oczekuje na przydzielenie CPU i wykonanie)
  3. d typowy przypadek przejscia z wykonywania do oczekiwania, np. wywlaszczenie przez proces o wyzszym/nizszym priorytecie(zalezy od architektury) Mozliwe sa jeszcze inne, ale sa tak kiepskie te odpowiedzi i nieprecyzyjne ze ciezko wybrac.
  4. Jesli maszyna wirtualna przedstawiona jest jako proces, to ma wyodrebniona przestrzen adresowa i nie moze odwolywac sie do samego systemu na ktorym proces zostal utworzony. Raczej nie sa stosowane do imitowania pracy OS. Przykladem moze byc JVM(java virtual machine). Jesli chodzi o typowe wirtualne maszyny to imituja przerwania I/O i moga pracowac w tych trybach co sam systemna ktorym sa odpalane. Sa chyba nawet maszyny pracujace w kernel mode. Tak wiec b i d i pasuja, ale jakbym mial 1 wybrac to d.

1 użytkowników online, w tym zalogowanych: 0, gości: 1