Sem II (Betriebssysteme und Netzwerke) Flashcards

1
Q

StringBuilder() Java

A

used to create mutable sequences of characters, meaning that the content of the string can be modified without creating new objects.

— Mutable
– Better Performance
– No Synchronization: more efficient in single-threaded environments, but it is not safe for use by multiple threads simultaneously without external synchronization.

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
System.out.println(sb.toString());  // Output: Hello World
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World");
System.out.println(sb.toString());  // Output: Hello World
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11);
System.out.println(sb.toString());  // Output: Hello
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое концепция абстракции в информатике и как она связана с потоками?

A

Абстракция в информатике - это создание программных компонентов, которые могут использоваться для многих целей. Потоки - это абстракция, обобщающая концепцию отправки данных из программы в пункт назначения или получения данных из источника, независимо от конкретного оборудования или системы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Каковы основные типы потоков в Java и что они представляют?

A

Основные типы потоков в Java - это InputStream и OutputStream. Они представляют абстрактные классы, которые определяют концепцию чтения байтов из источника и записи байтов в пункт назначения соответственно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Как FileInputStream и FileOutputStream связаны с базовыми типами потоков?

A

FileInputStream и FileOutputStream - это конкретные реализации InputStream и OutputStream соответственно. Они используются специально для чтения из файлов и записи в файлы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Как обрабатывать потенциальные ошибки при работе с файловыми потоками?

A

Ошибки обрабатываются с помощью блоков try-catch. Например, FileNotFoundException может возникнуть при открытии файла, а IOException - при операциях чтения или записи.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Какова цель DataInputStream и DataOutputStream?

A

Эти классы предоставляют методы для чтения и записи примитивных типов данных Java и строк в потоки, автоматически преобразуя их в байты и обратно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как PrintStream и BufferedReader облегчают работу со строками в потоках?

A

PrintStream упрощает запись строк в OutputStream, а BufferedReader, используемый вместе с InputStreamReader, облегчает чтение строк из InputStream, включая такие функции, как чтение целых строк.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Почему работа со строками в потоках Java иногда критикуется, и в чем заключается компромисс?

A

Работа со строками в потоках Java может рассматриваться как сложная из-за множества классов и шагов. Однако эта сложность позволяет достичь большей гибкости в обработке различных кодировок символов и типов данных, что может быть полезно в более сложных сценариях.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

В чем разница между байтами, символами и строками в контексте потоков Java?

A

Байты- это необработанные данные, читаемые из потоков или записываемые в них.
Символы - это знаки, которые могут быть закодированы различными способами (например, UTF или ASCII).
Строки - это последовательности символов, которые часто требуют особой обработки в потоках.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое концепция абстракции в информатике и как она связана с потоками?

A

это создание программных компонентов, которые могут использоваться для многих целей. Потоки - это абстракция, обобщающая концепцию отправки данных из программы в пункт назначения или получения данных из источника, независимо от конкретного оборудования или системы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Каковы основные типы потоков в Java и что они представляют?

A

Основные типы потоков в Java - это InputStream и OutputStream. Они представляют абстрактные классы, которые определяют концепцию чтения байтов из источника и записи байтов в пункт назначения соответственно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Как обрабатывать потенциальные ошибки при работе с файловыми потоками?

A

Ошибки обрабатываются с помощью блоков try-catch. Например, FileNotFoundException

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Какова цель DataInputStream и DataOutputStream?

A

Эти классы предоставляют методы для чтения и записи примитивных типов данных Java и строк в потоки, автоматически преобразуя их в байты и обратно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Как PrintStream и BufferedReader облегчают работу со строками в потоках?

A

PrintStream упрощает запись строк в OutputStream, а BufferedReader, используемый вместе с InputStreamReader, облегчает чтение строк из InputStream, включая такие функции, как чтение целых строк.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое System.out?

A

это публичный статический член класса System типа PrintStream, связанный с выводом на экран.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Почему работа со строками в потоках Java иногда критикуется, и в чем заключается компромисс?

A

Работа со строками в потоках Java может рассматриваться как сложная из-за множества классов и шагов. Однако эта сложность позволяет достичь большей гибкости в обработке различных кодировок символов и типов данных, что может быть полезно в более сложных сценариях.

17
Q

В чем разница между байтами, символами и строками в контексте потоков Java?

A

Байты - это необработанные данные, читаемые из потоков или записываемые в них.
Символы - это знаки, которые могут быть закодированы различными способами.
Строки - это последовательности символов, которые часто требуют особой обработки в потоках.

18
Q

Erklären Sie die Funktion des Instruction Pointers (IP) in einer CPU.

A

Der Instruction Pointer (IP) ist ein spezielles Register in der CPU, das die Adresse des nächsten auszuführenden Befehls im Speicher enthält. Er wird automatisch inkrementiert, wenn Befehle ausgeführt werden, und kann durch Sprungbefehle direkt manipuliert werden.

Указатель команд (IP) — это специальный регистр в процессоре, содержащий адрес следующей команды для выполнения в памяти. Он автоматически увеличивается при выполнении команд и может напрямую изменяться с помощью команд перехода.

19
Q

Was ist der Zweck von domänenspezifischen Sprachen (DSLs) in der Softwareentwicklung?

A

Domänenspezifische Sprachen sind darauf ausgelegt, Probleme in bestimmten Fachbereichen effizienter zu lösen. Sie ermöglichen es Fachexperten, Lösungen in einer ihnen vertrauten Sprache zu formulieren, ohne tiefgreifende Programmierkenntnisse zu benötigen. DSLs vereinfachen die Kommunikation zwischen Fachexperten und Softwareentwicklern und können die Produktivität in spezifischen Domänen erhöhen.

Доменно-специфические языки предназначены для более эффективного решения задач в определённых областях. Они позволяют экспертам формулировать решения на знакомом языке без глубоких знаний программирования, упрощают коммуникацию между экспертами и разработчиками и могут повысить продуктивность в конкретных доменах.

20
Q

Was ist Bootstrapping im Kontext von Computersystemen?

A

Bootstrapping bezieht sich auf den Prozess, bei dem der Computer das erste Programm von einem persistenten Speicher an einer bekannten Adresse lädt und ausführt. Dies ist der Startpunkt für das Laden des Betriebssystems.

Bootstrapping относится к процессу, когда компьютер загружает и выполняет первую программу из постоянной памяти по известному адресу. Это является начальной точкой для загрузки операционной системы.

21
Q

Was ist die Hauptaufgabe eines Schedulers in einem Multi-Prozess-Betriebssystem?

A

Der Scheduler in einem Multi-Prozess-Betriebssystem ist verantwortlich für die Zuteilung von CPU-Zeit an verschiedene Prozesse. Er entscheidet, welcher Prozess wann ausgeführt wird.

22
Q

Was ist ein Interrupt und welche Rolle spielt er in einem Betriebssystem?

A

Ein Interrupt ist ein Signal, das die CPU dazu veranlasst, ihre aktuelle Aufgabe zu unterbrechen und eine andere Aufgabe auszuführen. In Betriebssystemen werden Interrupts verwendet, um auf externe Ereignisse zu reagieren und den Scheduler zu aktivieren.

Прерывание — это сигнал, который заставляет процессор прервать текущую задачу и выполнить другую. В операционных системах прерывания используются для реагирования на внешние события и активации планировщика.

23
Q

Wie startet ein Betriebssystem einen neuen Prozess?

A

Ein Betriebssystem startet einen neuen Prozess durch eine Funktion wie “startProcess”. Diese Funktion lädt den Code des neuen Prozesses aus dem persistenten Speicher in den Arbeitsspeicher und initialisiert die notwendigen Datenstrukturen für den Prozess.

24
Q

Was sind die Hauptkomponenten eines Prozesses?

A

CPU
Speicher
IP
Core
Scheduler
Programmcode

25
Q

Warum ist der Scheduler ein wichtiger Teil eines Betriebssystems?

A

**Der Scheduler ist ein wichtiger Teil des Betriebssystems, da er für die Zuteilung von CPU-Zeit an verschiedene Prozesse verantwortlich ist. **