Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
13 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
311.00 kB
Просмотров:
72
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Операционные системы Лекция](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img0.jpg)
Содержание слайда: Операционные системы
Лекция 2
Процессы
№2 слайд![Основные концепции ОС](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img1.jpg)
Содержание слайда: Основные концепции ОС
Системные вызовы(System calls) (программные прерывания);
Прерывания (Hardware Interrupts)(внешние аппаратные прерывания);
Исключения (Exeptions) (внутренние аппаратные прерывания);
Файлы и файловые системы;
Процессы и нити;
Блоки памяти, страничная и виртуальная память;
№3 слайд![Понятие процесса](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img2.jpg)
Содержание слайда: Понятие процесса
№4 слайд![Состояния процесса](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img3.jpg)
Содержание слайда: Состояния процесса
№5 слайд![Состояния процесса-](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img4.jpg)
Содержание слайда: Состояния процесса-2
№6 слайд![Создание процесса](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img5.jpg)
Содержание слайда: Создание процесса
№7 слайд![Создание процесса - fork](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img6.jpg)
Содержание слайда: Создание процесса - fork()
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
int main() {
pid_t ChildPID;
printf("\n\r **** Begin Process ****");
ChildPID=fork();
if(ChildPID< 0) {
printf("\n\r **** Abnormal fork termination ****");
return 1;
}
if(ChildPID==0){
// Child Process
printf("\n\r **** Child Process PID **** %d \n\r",getpid());
} else {
// Parent process
printf("\n\r **** Parent Process PID **** %d \n\r",getpid());
wait(NULL);
}
return 0;
}
№8 слайд![Создание процесса - fork](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img7.jpg)
Содержание слайда: Создание процесса - fork()+execve
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
extern char **environ;
int main(void) {
pid_t ChildPID;
char * ls_args[]={
"ls","-l","/",NULL
};
ChildPID=fork();
if(ChildPID< 0) {
fprintf(stderr,"\n\r **** Abnormal fork termination ****");
return 1;
}
if(ChildPID==0){
// Child Process
execve("/bin/ls",ls_args,environ);
fprintf(stderr,"\n\r!!!!!! EXEC ERROR !!!!!\n");
return 1;
}
return 0;
}
№9 слайд![Завершение процесса](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img8.jpg)
Содержание слайда: Завершение процесса
№10 слайд![Переходы в состояния](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img9.jpg)
Содержание слайда: Переходы в состояния «готовность», «выполнение», «ожидание»
Порождение процесса — готовность:
после порождения процесса тем или иным способом, выделения процессу ресурсов, создания и заполнения блока управления процессом;
Готовность — выполнение:
выбор процесса и очереди готовых к выполнению процессов в соответствии с используемым в системе алгоритмом планирования; Осуществляется восстановление контекста;
Выполнение — готовность:
аппаратное прерывание для обработки внешнего события;
Осуществляется сохранение контекста процесса;
Выполнение — ожидание(блокировка):
Системный вызов (запрос доступа к ресурсам);
Осуществляется сохранение контекста процесса;
Ожидание — готовность:
доступность ожидаемых данных или ресурсов.
№11 слайд![Дерево процессов](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img10.jpg)
Содержание слайда: Дерево процессов
№12 слайд![](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img11.jpg)
№13 слайд![Потоки нити В отличие от](/documents_6/0f0ec2e8ebb24566481206d74283ea3f/img12.jpg)
Содержание слайда: Потоки(нити)
В отличие от процессов потоки(нити) работают в контексте одного процесса-родителя
Совместно используемые элементы потока
Элементы процесса
Адресное пространство Счетчик команд
Глобальные переменные Регистры CPU
Открытые файлы Стек
Дочерние процессы Состояние
Необработанные аварийные сигналы
Сигналы и их обработчики
Информация об использовании ресурсов
Реализация потоков:
В пространстве ядра
В пространстве пользователя