• サぺルOP
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    2 months ago

    To jest dla mnie interesujące z innego powodu. Nie zdawałem sobie sprawy z takiego wyposażenia pierwszych PC. Dla mnie to zawsze było minimum 640 kB.

    Ciekawe ile pamięci zajmował wtedy DOS.

    • naurM
      link
      fedilink
      Polski
      arrow-up
      1
      ·
      edit-2
      2 months ago

      O ile 16kB faktycznie wydaje się małą ilością jak na komputer z początku lat 80, to już na pewno nie spodziewałbym się pełnych 640kB w tym okresie.
      Sprawdziłem, że pierwszy XT miał 128kB, czyli w sumie ilość całkiem przyzwoita.

      Znalazłem opis funkcji do wykrywania ilości pamięci: https://wiki.osdev.org/Detecting_Memory_(x86) Najstarsza ma rozdzielczość 1 kB w zakresie od 0 do 1MB (w teorii).
      Dość szokujące, że zmarnowali przerwanie 12h na jedną funkcję: https://en.wikipedia.org/wiki/BIOS_interrupt_call

      • サぺルOP
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        2 months ago

        To nie jest szokujące. Miałeś do dyspozycji 256 przerwań. Pewnie wywołanie było szybsze niż wywołanie + długi switch. To wszystko było podyktowane specyficznym pojmowaniem bezpieczeństwa wtedy. Czyli co się stanie kiedy program się wysypie i zacznie wykonywać jakiś losowy adres.

        • naurM
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          edit-2
          2 months ago

          Sprawdzenie ilości pamięci w komputerze nie wydaje się być często wykonywaną operacją. :-)
          Mnóstwo ważniejszych “syscalli” było multipleksowane na tym samym numerze przerwania.

          • サぺルOP
            link
            fedilink
            Polski
            arrow-up
            1
            ·
            2 months ago

            Nie wiem. By trzeba zobaczyć historię API. Nie wiem czym się motywowali twórcy. Niektóre rzeczy mają sens i są pogrupowane tematycznie. Inne są dość chaotyczne. Jakby ktoś sobie dopisał coś do istniejącego kodu na koniec.