Cs8493 unit 5Kathirvel AyyaswamyThe document discusses the Linux operating system, including its history, design principles, kernel modules, process management, scheduling, memory management, input/output management, file systems, and inter-process communication. It also briefly covers the architectures and frameworks of two popular mobile operating systems, iOS and Android. The document provides details on Linux kernel versions and distributions, and explains concepts like kernel synchronization, interrupt handling, and the Completely Fair Scheduler algorithm used in Linux.
Install active directory on windows server 2016 step by stepAhmed AbdelwahedThis document provides step-by-step instructions for installing Active Directory on Windows Server 2016. It describes initial server configuration including updates, static IP, password changes. It then explains how to install the Active Directory role and promote the server to a new forest domain controller for the ITPROLABS.XYZ domain. The promotion process includes selecting the forest and domain functional levels, enabling DNS and global catalog roles, and changing the AD database locations.
Ubuntu OS PresentationLoren SchwappachThe document provides an overview of the Ubuntu operating system. It discusses Ubuntu's history as a Debian-based Linux distribution first released in 2004. It covers Ubuntu's design principles including its use of the Linux kernel for process management, memory management, and file systems. It also addresses security topics like hacking threats and strategies for hardening Ubuntu systems. Basic commands and utilities included in Ubuntu are outlined.
Basic Linux Internalsmukul bhardwajThe document provides an introduction to Linux and device drivers. It discusses Linux directory structure, kernel components, kernel modules, character drivers, and registering drivers. Key topics include dynamically loading modules, major and minor numbers, private data, and communicating with hardware via I/O ports and memory mapping.
Android - ADBYossi GrunerThe document discusses the Android Debug Bridge (ADB) tool. It describes ADB as a command line interface that allows communication with Android emulators and devices. It provides details on common ADB commands like adb shell, adb devices, adb install and adb logcat. It also covers using ADB to capture screenshots and device logs, install and uninstall apps, and run commands on an Android shell.
File Management in Operating SystemsvampuganiThe document discusses input/output (I/O) and file management in operating systems. It covers several key topics:
1) I/O devices are controlled by the OS and include input devices like keyboards and output devices like monitors. Files are managed through a logical, uniform view abstracted from physical storage properties.
2) A file is a collection of related information defined by its creator, such as programs, data, text, or formatted records. File management involves creation, deletion, mapping to storage, and backup.
3) The OS implements I/O buffering and caching to improve performance and address speed mismatches between devices. It also performs disk scheduling and structures file storage through directories, indexing,
Windows Server 2016 First Look (Part 1)Tuan YangIncrease security, evolve your datacentre, and innovate faster with Microsoft Windows Server 2016—the cloud-ready operating system.
Learn more about:
» Windows Server 2016 as the 4th Era of Windows Server
» Editions & features
» Hardware requirements
» Features:
• Nano server
• Containers
• Hyper-V Hot-Add Virtual Hardware
• Nested Virtualization
Linux ServersRanjith SijiThis document provides an overview of common GNU/Linux server applications including Apache HTTP server, Squid proxy and cache server, Samba file sharing server, vsftpd FTP server, PostgreSQL and MySQL database servers, sendmail and postfix email servers, firewalls, and more. It describes features and basic usage of these open source server applications that can be used to deploy core network services on GNU/Linux servers.
Raid TechnologyAman SadhwaniRAID (Redundant Array of Independent Disks) is a data storage virtualization technology that combines multiple physical disk drive components into a single logical unit to improve performance and provide redundancy. There are different RAID levels that distribute and protect data across disks in various ways. RAID 0 stripes data across disks for increased speed but provides no data protection. RAID 1 mirrors the same data onto two disks, providing fault tolerance if one disk fails. Higher RAID levels like 3, 4, and 5 provide redundancy through parity data stored on dedicated disks while still allowing for parallel I/O performance.
Root file systemBindu UIt is the File system that is contained on the same partition on which the "Root directory" is located. It is the File system on which all the other file systems are mounted
Window architecture IGZ Software houseWindows 2000 architecture has a layered design with a kernel mode and user mode. The kernel mode consists of the hardware abstraction layer, kernel, and executive services which have unrestricted system access. The user mode contains subsystems and has limited resource access. The kernel schedules processes and handles interrupts, synchronization, and recovery. Executive services provide common functions like I/O management, security, and power management through components like the object manager and process manager. Environment subsystems allow running applications from other operating systems by converting their API calls.
Examining Mac File Structuresprimeteacher32The document discusses Mac file structures and forensic acquisition methods. It explains that before OS X, Mac used HFS and HFS+ file systems, and that a Mac file consists of a data fork and resource fork. It also outlines that a volume stores files and has allocation blocks, and that plist files store application preferences. Acquiring images from Mac systems can be challenging due to difficult physical drive access.
System and Network Administration/ SNAFaisalMashoodThe document contains answers to 11 questions related to system and network administration. Key points addressed include:
- Integrated multiple operating systems allow installing multiple OSes on a single PC and choosing between them at boot.
- A network administrator's responsibilities include installing, configuring, and supporting an organization's networks and responding to outages.
- The /etc/shadow file contains password policies like expiry for each user.
- Fragmentation in storage occurs when space is used inefficiently, reducing capacity and performance.
- Tips for system administration include using a trouble ticket system, managing quick requests, adopting time-saving policies, and starting hosts in a known state.
Windows Server 2019.pptxmasbulosokeThe document discusses new features in Windows Server 2019 including Windows Admin Center, System Insight, Storage Migration Service, Storage Spaces Direct, and Storage Replica. It explains that Windows Admin Center is a browser-based tool for managing Windows servers and clients. Storage Migration Service allows migrating servers and data to new hardware or virtual machines. Storage Spaces Direct pools storage across servers for hyperconverged or converged deployments with options for mirroring or parity resiliency. Storage Replica enables replication of volumes for disaster recovery between servers or clusters.
Chapter Two.pptxssuser8347a1Active Directory is a directory service that stores information about users, groups, and computers on a network. Domain controllers host Active Directory and perform identity and access management. Administrators can create and manage user accounts locally or through a centralized Active Directory. User accounts must be properly planned, created, maintained, and secured to manage network access.
Monolithic kernel vs. MicrokernelRQK KhanThe document compares monolithic and microkernel operating system architectures. A monolithic kernel runs all system services in kernel space, while a microkernel reduces the kernel to basic process communication and I/O control, running other services like memory management in user space as servers. Microkernels have advantages in extensibility, portability and stability due to smaller kernel size, while monolithic kernels have advantages in performance due to running more in kernel space. Examples of each type of kernel are given.
Topic #3 of outline Server Environment.pptxAyeCS11The document provides information about server environments including Microsoft Windows Server and Linux Server. It defines what a server is, why servers are used, examples of different types of servers, and how servers are connected to other computers on a network. It describes key differences between Windows Server and regular Windows operating systems, and highlights some common roles and management software included in Windows Server but not regular Windows. It also provides an overview of Linux servers, their benefits, and some popular Linux server flavors suited for different use cases.
operating system lecture notesAVC College of EngineeringThis document provides course material for the subject of Operating Systems for 4th semester B.E. Computer Science Engineering students at A.V.C. College of Engineering. It includes information on the name and designation of the faculty teaching the course, the academic year, curriculum regulations, 5 units that make up the course content, textbook and reference details. The course aims to cover key topics in operating systems including processes, process scheduling, storage management, file systems and I/O systems.
Mass Storage StructureVimalanathan DThis document provides an overview of mass storage structures and operating system services for mass storage. It discusses disk structure, disk scheduling algorithms, swap space management, RAID structures, and stable storage implementation. The document also describes the physical structure of secondary and tertiary storage devices and their performance characteristics.
Linux device drivers Emertxe Information Technologies Pvt LtdThis course gets you started with writing device drivers in Linux by providing real time hardware exposure. Equip you with real-time tools, debugging techniques and industry usage in a hands-on manner. Dedicated hardware by Emertxe's device driver learning kit. Special focus on character and USB device drivers.
Chapter09 Implementing And Using Group PolicyRaja Waseem AkhtarGroup Policy Objects (GPOs) can be used to centrally manage user and computer settings across a Windows network. GPOs are created and linked to sites, domains, and organizational units to apply policies to all computers and users within those containers. Common uses of GPOs include controlling user desktop settings and security, deploying login and startup scripts, redirecting user folders, and installing or removing software applications. Troubleshooting tools like GPRESULT and Resultant Set of Policy can help determine which policies are in effect for a given user or computer.
Water for Public Good - Connecting the last mile - HUF Maharashtra NoteSambhaji PalveThis document summarizes Hindustan Unilever Foundation's (HUF) water management efforts in Maharashtra, India. It discusses the water crisis facing the state, with over 34% of villages declared drought-affected. HUF is supporting community initiatives across four regions in three river basins to improve irrigation, promote efficient water use, recharge aquifers, develop rainfed areas, and enable policy implementation. The goals are to empower communities to manage their water and increase sustainable agriculture and livelihoods through partnerships with NGOs and the government.
ViolenciaVale Ü HRLa violencia se define como cualquier conducta deliberada que cause daño físico, sexual, verbal o psicológico a otra persona. Se caracteriza por encontrarse en todos los grupos sociales y por estar relacionada con la violencia observada en la niñez. Los tipos principales de violencia son la física, que incluye agresiones con objetos o sustancias, y la psicológica, que daña la estabilidad mental y puede conducir a la depresión o aislamiento.
Android - ADBYossi GrunerThe document discusses the Android Debug Bridge (ADB) tool. It describes ADB as a command line interface that allows communication with Android emulators and devices. It provides details on common ADB commands like adb shell, adb devices, adb install and adb logcat. It also covers using ADB to capture screenshots and device logs, install and uninstall apps, and run commands on an Android shell.
File Management in Operating SystemsvampuganiThe document discusses input/output (I/O) and file management in operating systems. It covers several key topics:
1) I/O devices are controlled by the OS and include input devices like keyboards and output devices like monitors. Files are managed through a logical, uniform view abstracted from physical storage properties.
2) A file is a collection of related information defined by its creator, such as programs, data, text, or formatted records. File management involves creation, deletion, mapping to storage, and backup.
3) The OS implements I/O buffering and caching to improve performance and address speed mismatches between devices. It also performs disk scheduling and structures file storage through directories, indexing,
Windows Server 2016 First Look (Part 1)Tuan YangIncrease security, evolve your datacentre, and innovate faster with Microsoft Windows Server 2016—the cloud-ready operating system.
Learn more about:
» Windows Server 2016 as the 4th Era of Windows Server
» Editions & features
» Hardware requirements
» Features:
• Nano server
• Containers
• Hyper-V Hot-Add Virtual Hardware
• Nested Virtualization
Linux ServersRanjith SijiThis document provides an overview of common GNU/Linux server applications including Apache HTTP server, Squid proxy and cache server, Samba file sharing server, vsftpd FTP server, PostgreSQL and MySQL database servers, sendmail and postfix email servers, firewalls, and more. It describes features and basic usage of these open source server applications that can be used to deploy core network services on GNU/Linux servers.
Raid TechnologyAman SadhwaniRAID (Redundant Array of Independent Disks) is a data storage virtualization technology that combines multiple physical disk drive components into a single logical unit to improve performance and provide redundancy. There are different RAID levels that distribute and protect data across disks in various ways. RAID 0 stripes data across disks for increased speed but provides no data protection. RAID 1 mirrors the same data onto two disks, providing fault tolerance if one disk fails. Higher RAID levels like 3, 4, and 5 provide redundancy through parity data stored on dedicated disks while still allowing for parallel I/O performance.
Root file systemBindu UIt is the File system that is contained on the same partition on which the "Root directory" is located. It is the File system on which all the other file systems are mounted
Window architecture IGZ Software houseWindows 2000 architecture has a layered design with a kernel mode and user mode. The kernel mode consists of the hardware abstraction layer, kernel, and executive services which have unrestricted system access. The user mode contains subsystems and has limited resource access. The kernel schedules processes and handles interrupts, synchronization, and recovery. Executive services provide common functions like I/O management, security, and power management through components like the object manager and process manager. Environment subsystems allow running applications from other operating systems by converting their API calls.
Examining Mac File Structuresprimeteacher32The document discusses Mac file structures and forensic acquisition methods. It explains that before OS X, Mac used HFS and HFS+ file systems, and that a Mac file consists of a data fork and resource fork. It also outlines that a volume stores files and has allocation blocks, and that plist files store application preferences. Acquiring images from Mac systems can be challenging due to difficult physical drive access.
System and Network Administration/ SNAFaisalMashoodThe document contains answers to 11 questions related to system and network administration. Key points addressed include:
- Integrated multiple operating systems allow installing multiple OSes on a single PC and choosing between them at boot.
- A network administrator's responsibilities include installing, configuring, and supporting an organization's networks and responding to outages.
- The /etc/shadow file contains password policies like expiry for each user.
- Fragmentation in storage occurs when space is used inefficiently, reducing capacity and performance.
- Tips for system administration include using a trouble ticket system, managing quick requests, adopting time-saving policies, and starting hosts in a known state.
Windows Server 2019.pptxmasbulosokeThe document discusses new features in Windows Server 2019 including Windows Admin Center, System Insight, Storage Migration Service, Storage Spaces Direct, and Storage Replica. It explains that Windows Admin Center is a browser-based tool for managing Windows servers and clients. Storage Migration Service allows migrating servers and data to new hardware or virtual machines. Storage Spaces Direct pools storage across servers for hyperconverged or converged deployments with options for mirroring or parity resiliency. Storage Replica enables replication of volumes for disaster recovery between servers or clusters.
Chapter Two.pptxssuser8347a1Active Directory is a directory service that stores information about users, groups, and computers on a network. Domain controllers host Active Directory and perform identity and access management. Administrators can create and manage user accounts locally or through a centralized Active Directory. User accounts must be properly planned, created, maintained, and secured to manage network access.
Monolithic kernel vs. MicrokernelRQK KhanThe document compares monolithic and microkernel operating system architectures. A monolithic kernel runs all system services in kernel space, while a microkernel reduces the kernel to basic process communication and I/O control, running other services like memory management in user space as servers. Microkernels have advantages in extensibility, portability and stability due to smaller kernel size, while monolithic kernels have advantages in performance due to running more in kernel space. Examples of each type of kernel are given.
Topic #3 of outline Server Environment.pptxAyeCS11The document provides information about server environments including Microsoft Windows Server and Linux Server. It defines what a server is, why servers are used, examples of different types of servers, and how servers are connected to other computers on a network. It describes key differences between Windows Server and regular Windows operating systems, and highlights some common roles and management software included in Windows Server but not regular Windows. It also provides an overview of Linux servers, their benefits, and some popular Linux server flavors suited for different use cases.
operating system lecture notesAVC College of EngineeringThis document provides course material for the subject of Operating Systems for 4th semester B.E. Computer Science Engineering students at A.V.C. College of Engineering. It includes information on the name and designation of the faculty teaching the course, the academic year, curriculum regulations, 5 units that make up the course content, textbook and reference details. The course aims to cover key topics in operating systems including processes, process scheduling, storage management, file systems and I/O systems.
Mass Storage StructureVimalanathan DThis document provides an overview of mass storage structures and operating system services for mass storage. It discusses disk structure, disk scheduling algorithms, swap space management, RAID structures, and stable storage implementation. The document also describes the physical structure of secondary and tertiary storage devices and their performance characteristics.
Linux device drivers Emertxe Information Technologies Pvt LtdThis course gets you started with writing device drivers in Linux by providing real time hardware exposure. Equip you with real-time tools, debugging techniques and industry usage in a hands-on manner. Dedicated hardware by Emertxe's device driver learning kit. Special focus on character and USB device drivers.
Chapter09 Implementing And Using Group PolicyRaja Waseem AkhtarGroup Policy Objects (GPOs) can be used to centrally manage user and computer settings across a Windows network. GPOs are created and linked to sites, domains, and organizational units to apply policies to all computers and users within those containers. Common uses of GPOs include controlling user desktop settings and security, deploying login and startup scripts, redirecting user folders, and installing or removing software applications. Troubleshooting tools like GPRESULT and Resultant Set of Policy can help determine which policies are in effect for a given user or computer.
Water for Public Good - Connecting the last mile - HUF Maharashtra NoteSambhaji PalveThis document summarizes Hindustan Unilever Foundation's (HUF) water management efforts in Maharashtra, India. It discusses the water crisis facing the state, with over 34% of villages declared drought-affected. HUF is supporting community initiatives across four regions in three river basins to improve irrigation, promote efficient water use, recharge aquifers, develop rainfed areas, and enable policy implementation. The goals are to empower communities to manage their water and increase sustainable agriculture and livelihoods through partnerships with NGOs and the government.
ViolenciaVale Ü HRLa violencia se define como cualquier conducta deliberada que cause daño físico, sexual, verbal o psicológico a otra persona. Se caracteriza por encontrarse en todos los grupos sociales y por estar relacionada con la violencia observada en la niñez. Los tipos principales de violencia son la física, que incluye agresiones con objetos o sustancias, y la psicológica, que daña la estabilidad mental y puede conducir a la depresión o aislamiento.
Strategy Document Carmichael CentreBen FlynnThe strategy document outlines a marketing campaign for The Carmichael Centre charity. It includes research findings that corporates now want direct involvement with charities through donations of skills and expertise. The 'Good Deeds' campaign will offer corporate sponsorship bundles suited to different industries. Once involved, a corporate's donations and support will be recognized as a 'Good Deed'. The campaign uses social media, a corporate video, out-of-home advertising and networking to increase donations from corporate Ireland and distinguish The Carmichael Centre brand.
16TLRM0035_MDT_STUDYSimon WalshThis study evaluated agreement between multidisciplinary teams (MDTs) from seven countries on diagnoses of diffuse parenchymal lung disease. 70 patients were evaluated independently by clinicians, radiologists, pathologists and each MDT. Inter-MDT agreement on first choice diagnoses was moderate. Agreement was good for idiopathic pulmonary fibrosis (IPF) and connective tissue disease, moderate for non-specific interstitial pneumonia, and fair for hypersensitivity pneumonitis. MDTs diagnosed IPF with higher confidence and frequency than individual clinicians or radiologists. Inter-MDT agreement for hypersensitivity pneumonitis was low, highlighting the need for standardized diagnostic guidelines.
Luiza Costa EnglishLuiza CostaLuiza Costa is a 45-year-old Brazilian marketing executive with over 20 years of experience in marketing roles at large Brazilian and multinational companies. She has extensive experience managing all areas of marketing including branding, advertising, public relations, promotions, and market research. Costa is fluent in English, Italian, and Spanish and has a Master's degree in Marketing and an MBA. She is currently the Head of Marketing & Strategic Planning at Make History focusing on business development, franchising, and product launches.
Sistemas de informaciónAngy Carvajal BenavidesEste documento trata sobre varios temas relacionados con la sociedad de la información y las tecnologías digitales. Explica brevemente la sociedad de la información, la sociedad del conocimiento, la brecha digital, las comunidades virtuales y el origen de Internet. También define conceptos como sistemas de información, empresas online e Internet de negocios. Finalmente, presenta las cuatro fases por las que ha pasado la evolución de las tecnologías de la información y la comunicación.
ταξίδι στον ομφαλό της γης»Evangelos KitosΕΚΠΑΙΔΕΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΓΙΑ ΤΟΥΣ ΔΕΛΦΟΥΣ
Redes clientes-servidor prisMartha Priscila Ludena GomezLa arquitectura cliente-servidor permite compartir información entre computadoras conectadas en red. En este modelo, los clientes inician solicitudes y reciben respuestas de los servidores, que procesan las solicitudes y brindan recursos y aplicaciones a los clientes. Esta arquitectura ofrece ventajas como la centralización del control y la escalabilidad, pero también desventajas como la posible congestión del tráfico hacia un servidor y falta de robustez si un servidor falla.
Изучение интерфейсов операционных систем с помощью Embedded Systemitconnect2016Сагайда П.И.
ITConnect 2016
Изучение интерфейсов операционных систем с помощью Embedded System.
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIПупена АлександрЛюдино-машинні інтерфейси та SCADA. Загальні принципи розроблення АРМ оператора на базі SCADA/HMIавтор і лектор: Олександр Пупена (pupena_san@ukr.net)
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютераМаксим ПавленкоУніверситет: Бердянський державний педагогічний університет
Кафедра: Комп’ютерних технологій в управлінні та навчанні й інформатики
Дисципліна: Сучасні інформаційні технології
Автор: Павленко Лілія Василівна
План
1. Загальна інформація про комп’ютери
1.1. Класифікація сучасних комп’ютерів
1.2. Перспективи розвитку комп’ютерної техніки
2. Склад персонального комп’ютера
2.1. Архітектура персонального комп’ютера
2.2. Склад центрального обладнання персонального комп’ютера
2.3. Пристрої збереження інформації у персональному комп’ютері
3. Периферійне обладнання персонального комп’ютера для введення-виведення інформації і допоміжних функцій
4. Програмне забезпечення комп’ютерів
4.1. Системні програми
4.2. Інструментальні програми
4.3. Прикладні програми
Контрольна робота на тему: "Створення тематичної презентації. Автоматична обр...Ігор Гурін #CronprogСтворити тематичну презентацію за допомогою MS PowerPoint з теми: «Спеціальні можливості OC»
2. 2/16Лекція 10
План лекції
Завдання керування введенням-
виведенням
Фізична організація пристроїв
введення-виведення
Організація програмного
забезпечення введення-
виведення
Синхронне та асинхронне
введення-виведення
3. 3/16Лекція 10
Завдання керування
введенням-виведенням
Забезпечення доступу до зовнішніх
пристроїв з прикладних програм
Передавати пристроям команди
Перехоплювати переривання
Обробляти помилки
Забезпечення спільного використання
зовнішніх пристроїв
Розв’язувати можливі конфлікти (синхронізація)
Забезпечувати захист пристроїв від
несанкціонованого доступу
Забезпечення інтерфейсу між пристроями і
рештою системи
Інтерфейс повинен бути універсальним для різних
пристроїв
4. 4/16Лекція 10
Фізична організація пристроїв
введення-виведення
Два типи пристроїв – блок-орієнтовані (або блокові)
та байт-орієнтовані (або символьні)
Блок-орієнтовані пристрої
зберігають інформацію у блоках фіксованого розміру, які
мають адресу
дозволяють здійснювати пошук
Приклад: диск
Байт-орієнтовані пристрої
не підтримують адреси
не дозволяють здійснювати пошук
генерують або споживають послідовність байтів
Приклади: термінал, клавіатура, мережний адаптер
Існують пристрої, які не належать ні до перших, ні до
других
Приклад: таймер
До якого типу належить оперативна пам’ять?
5. 5/16Лекція 10
Контролери пристроїв
Пристрій може мати механічний компонент
Пристрій обов’язково має електронний
компонент
Електронний компонент пристрою, що взаємодіє з
комп’ютером, називають контролером (також –
адаптером)
Контролер завжди має кілька регістрів
ОС взаємодіє саме з контролером
Незалежно від типу пристрою, контролер, як
правило:
Під час операції введення перетворює потік біт у
блоки, що складаються з байтів (під час виведення
– навпаки)
Здійснює контроль і виправлення помилок
6. 6/16Лекція 10
Робота з регістрами
Операції
Виведення даних – це записування даних у регістр
виведення контролеру (data out)
Введення даних – це зчитування даних з регістра
введення контролеру (data in)
Керування пристроєм – це записування даних у
регістр керування контролеру (control)
Перевірка стану пристрою і результату попередньої
операції – це зчитування даних з регістра статусу
контролеру (status)
Варіанти архітектури комп’ютерів:
Регістри контролерів є частиною адресного
простору оперативної пам’яті (memory-mapped I/O)
Регістри контролерів утворюють власний адресний
простір – порти введення-виведення (I/O port)
7. 7/16Лекція 10
Драйвери пристроїв
Драйвер пристрою – це програмний модуль,
що керує взаємодією ОС із конкретним
зовнішнім пристроєм
точніше – з його контролером
Драйвер можна розглядати як транслятор,
який:
отримує на свій вхід команди високого рівня, які
зумовлені його (універсальним) інтерфейсом з ОС
на виході генерує інструкції низького рівня,
специфічні для конкретного контролера
Драйвери практично завжди виконують у
режимі ядра
Драйвери можуть бути завантажені у пам’ять і
вивантажені з неї під час виконання
8. 8/16Лекція 10
Способи виконання операцій
введення-виведення (1)
Опитування пристроїв
Драйвер у циклі зчитує біт busy регістру статусу,
поки він не буде знятий
Драйвер встановлює біт write керуючого регістра і
записує байт даних у регістр виведення
Драйвер встановлює біт cready
Контролер виявляє встановлений біт cready і
встановлює біт busy
Контролер виявляє встановлений біт write, зчитує
регістр виведення і передає отриманий байт
пристрою
Контролер знімає біти cready і busy (операція
завершена)
9. 9/16Лекція 10
Способи виконання операцій
введення-виведення (2)
Введення-виведення, кероване перериваннями
У регістри записують команди та(або) дані
Контролер працює
Контролер викликає переривання
Обробник переривання перевіряє результати операції
Прямий доступ до пам’яті (DMA)
Процесор дає команду DMA-контролеру виконати
зчитування блоку даних з пристрою, при цьому він
передає контролеру адресу буфера у фізичній пам’яті
DMA-контролер починає пересилання (процесор може
виконувати інші інструкції)
Після завершення пересилання усього блоку
(наприклад, 4 кБ), DMA-контролер генерує переривання
Оброблювач переривання завершує обробку операції
10. 10/16Лекція 10
Особливості оброблення
переривань
Рівні переривань
Деякі переривання більш важливі, деякі – менш
Переривання поділяють на рівні відповідно до їхнього пріоритету
(IRQL – Interrupt Request Level)
Можна маскувати переривання, які нижчі певного рівня (тобто,
скасовувати їх оброблення)
Встановлення оброблювачів переривань
Апаратні переривання обробляються контролером переривань,
який надсилає процесору сигнал різними лініями (IRQ line)
• Раніше контролери переривань були розраховані на 15 ліній
• Сучасні контролери розраховані на більше ліній (Intel – 255)
Оброблювач переривання встановлюється драйвером пристрою,
при цьому драйвер повинен визначити лінію IRQ, яку буде
використовувати пристрій
• Раніше користувачі мали вручну обрати номер лінії IRQ
• Для деяких стандартних пристроїв номер лінії IRQ документований і
незмінний
• Драйвер може виконувати зондування (probing) пристрою. Цей підхід
вважається застарілим
• Пристрій сам повідомляє номер лінії. Цей підхід є найкращим
11. 11/16Лекція 10
Особливості реалізації
оброблювачів переривань
В оброблювачах дозволено виконувати більшість операцій, за
деякими винятками:
Не можна обмінюватись даними з адресним простором режиму
користувача (оброблювач не виконується у контексті процесу)
Не можна виконувати жодних дій, здатних спричинити очікування
• Явно викликати sleep()
• Звертатись до синхронізаційних об’єктів з викликами, які можна
заблокувати
• Резервувати пам’ять за допомогою операцій, що призводять до
сторінкового переривання
Відкладене оброблення переривань
Для запобігання порушенню послідовності даних оброблювач
переривань має на певний час блокувати (маскувати) переривання
Оброблювач повинен швидко завершувати свою роботу, щоби не
тримати заблокованими наступні переривання
Для підвищення ефективності у сучасних ОС код оброблювача
поділяють на дві половини:
• Верхня половина (top half) – безпосередньо оброблювач переривання
• Нижня половина (bottom half) – реалізує відкладене оброблення
переривання. Не маскує переривання!
12. 12/16Лекція 10
Ієрархія рівнів програмного
забезпечення введення-виведення
Користувальницький
рівень ПЗ
Незалежний від
пристроїв рівень
Драйвери пристроїв
Оброблення
переривань
Прикладні програми
Бібліотечні функції
Системні виклики
Оброблення
системних викликів
Система буферизації
Драйвери пристроїв
Оброблення переривань
Запити
переривань
Зчитування
статусу
Команди
керування
Дані
13. 13/16Лекція 10
Рівень, незалежний від
пристроїв
Забезпечення спільного
інтерфейсу до драйверів
пристроїв
Іменування пристроїв
Захист пристроїв
Буферизація
Розподіл і звільнення виділених
пристроїв
Повідомлення про помилки
14. 14/16Лекція 10
Синхронні та асинхронні
операції введення-виведення
Введення-виведення на рівні апаратного
забезпечення є керованим перериваннями, а отже –
асинхронним
На користувальницькому рівні організувати синхронне
оброблення даних значно простіше, ніж асинхронне
Потік робить блокувальний (синхронний) виклик
Ядро переводить потік у стан очікування пристрою
Після завершення операції введення-виведення
викликається переривання
Обробник переривання переводить потік у стан
готовності
Синхронне введення-виведення не підходить для:
Серверів, що обслуговують багатьох клієнтів
Програм, що працюють з журналом
Мультимедійних застосувань
15. 15/16Лекція 10
Асинхронне введення-виведення
на користувальницькому рівні (1)
Багатопотокова організація
У процесі створюють новий потік, який виконує звичайне
синхронне введення-виведення
Проблеми:
• Потрібно реалізовувати синхронізацію потоків
• Може знизитись надійність прикладної програми
Введення-виведення з повідомленнями (notification-
driven I/O, I/O multiplexing)
Застосовується тоді, коли треба у циклі виконати
блокувальний виклик для кількох файлових
дескрипторів
• Один із викликів може заблокувати потік тоді, коли на
іншому дескрипторі є дані
Реалізують спеціальний виклик, який дозволяє потоку
отримати повідомлення про стан дескрипторів
• Після цього можна у циклі працювати з усіма
дескрипторами, для яких у поточний момент введення-
виведення можливе (блокування потоку не виникне)
16. 16/16Лекція 10
Асинхронне введення-виведення
на користувальницькому рівні (2)
Асинхронне введення-виведення
Основна ідея – потік, який почав виконувати введення-
виведення, не блокують
Послідовність:
• Потік виконує системний виклик асинхронного в-в, який ставить
операцію в-в у чергу і негайно повертає керування
• Потік продовжує виконання паралельно з операцією в-в
• Коли операцію завершено, потік отримує повідомлення
У разі асинхронного в-в не гарантується послідовність операцій
• Якщо потік виконує поспіль операції 1 і 2, то цілком ймовірно, що
операція 2 буде виконана до операції 1
Порти завершення введення-виведення (I/O completion port)
Поєднує багатопотоковість з асинхронним в-в
Має переваги для серверів, що обслуговують велику кількість
одночасних запитів
Принцип:
• Створюють пул потоків (thread pool)
• Кожний потік готовий до обслуговування запитів в-в
• Кількість потоків обирають виходячи з кількості наявних
процесорних ядер