Logo video2dn
  • Сохранить видео с ютуба
  • Категории
    • Музыка
    • Кино и Анимация
    • Автомобили
    • Животные
    • Спорт
    • Путешествия
    • Игры
    • Люди и Блоги
    • Юмор
    • Развлечения
    • Новости и Политика
    • Howto и Стиль
    • Diy своими руками
    • Образование
    • Наука и Технологии
    • Некоммерческие Организации
  • О сайте

Скачать или смотреть Setting Up Interrupts - Amateur OS Dev (in C)

  • Queso Fuego
  • 2021-09-23
  • 6611
Setting Up Interrupts - Amateur OS Dev (in C)
osdevos devprogramminginterruptsqueso fuegolow levelPICoperating systemssystem callsexceptionsx86c programming
  • ok logo

Скачать Setting Up Interrupts - Amateur OS Dev (in C) бесплатно в качестве 4к (2к / 1080p)

У нас вы можете скачать бесплатно Setting Up Interrupts - Amateur OS Dev (in C) или посмотреть видео с ютуба в максимальном доступном качестве.

Для скачивания выберите вариант из формы ниже:

  • Информация по загрузке:

Cкачать музыку Setting Up Interrupts - Amateur OS Dev (in C) бесплатно в формате MP3:

Если иконки загрузки не отобразились, ПОЖАЛУЙСТА, НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если у вас возникли трудности с загрузкой, пожалуйста, свяжитесь с нами по контактам, указанным в нижней части страницы.
Спасибо за использование сервиса video2dn.com

Описание к видео Setting Up Interrupts - Amateur OS Dev (in C)

Adding basic interrupt support including: the IDT, default ISRs for exceptions and software interrupts,
a system call handler for software interrupt 0x80, and PIC setup & remapping for hardware interrupts.

OS Dev playlist:
   • Amateur Makes an OS  

Source code as of the end of this video:
https://git.sr.ht/~queso_fuego/amateu...

Repos for this OS:
Sourcehut: https://git.sr.ht/~queso_fuego/quesos
Github mirror: https://github.com/queso-fuego/amateuros

OS Dev Wiki pages for interrupts:
https://wiki.osdev.org/Interrupts_tut...
https://wiki.osdev.org/Interrupt_Desc...
https://wiki.osdev.org/Interrupt_Serv...
https://wiki.osdev.org/System_Calls
https://wiki.osdev.org/PIC

More in-depth tutorial over the PIC:
http://www.brokenthorn.com/Resources/...

Other links:
https://gcc.gnu.org/onlinedocs/gcc-11...
https://www.felixcloutier.com/x86/sti

Notes:
The intel x86 manuals say exceptions 22-31 are reserved and not to use them. So the code for initializing the IDT should change to only set exception ISRs 0-21, just in case. Also, since the PIC is remapped to use interrupts 0x20-0x2F, setting the regular interrupts could probably be done with entry number starting at 0x30 (48).
I thought that sizeof wasn't working before, but I probably misread error messages or didn't understand what it does. It could lead to easy refactors now at least, for less hardcoding in parts.
OBS recording firefox and scrolling on pdfs and some webpages has a lot of artifacting, sorry about that. Probably due to monitor 1 being 144fps and the other monitor with obs and video recording at 60fps. Maybe, idk. Only happens when recording these. Do not adjust your set! That is normal on the video.
div/idiv instructions, in 32bit mode, can only ever be 2 bytes: F6 /6 & F7 /6 for div, and F6 /7 & F7 /7 for idiv. So in the divide by 0 handler, it could be eip += 2 to skip the whole div/idiv instruction. That works, at least for the calculator, and is probably a better way to handle it.
The PIT is the programmable Interval timer, not Interrupt timer, my bad. PIC and PIT names are easy to confuse.
My voice was a bit shot for the later parts, for the PIC and after, sorry about that. I need to stock up on some werther's originals or something.

Next video ideas:
It'll probably be over automating the build process (no more manually updating file sizes! ...until the filetable/system changes later e.g. directory support), and a couple PIC interrupt handlers for timer ticks, keyboard, or Real Time Clock/RTC. But I might research virtual memory management & paging
(for 32bit protected mode), a malloc() or other syscall, or other things.

Let me know if there's anything specific you'd like to see

Outline:
0:00 - intro/overview
5:18 - idt.h; set up IDT and default ISRs
46:01 - exceptions.h; divide by 0 exception handler
59:37 - explaining sizeof and address of array
1:02:46 - syscalls.h; system call interrupt, syscall table, example syscalls
1:29:49 - pic.h & io.h; remap the PIC for hardware interrupts, small C asm io functions
2:14:46 - Coming up and Outro

Software used:
VMware Workstation Player - https://www.vmware.com/products/works...
openBSD - https://www.openbsd.org/
qemu - https://www.qemu.org/
vim - https://www.vim.org/
clang - https://clang.llvm.org/
davinci resolve - https://www.blackmagicdesign.com/prod...
OBS Studio - https://obsproject.com/

Peripherals:
Camera: Sony ZV-1, Elgato Camlink 4k
Microphone: Shure SM7B, Cloudlifter CL-1, Focusrite Scarlett Solo
Keyboard: HHKB Pro Hybrid Type S, white/blank keycaps
Mouse: Logitech M590

Contact:
email - [email protected]
twitter - @Queso_Fuego
twitch -   / queso_fuego  

Thoughts/Notes/Suggestions/Other - Drop a message in the video comments, twitter, or email

Updates for these videos and other things will be on twitter or the YouTube channel community tab or mailing lists, if I remember.

Credits:
Music from https://incompetech.com:
"Your Call" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License
http://creativecommons.org/licenses/b...

#osdev #programming #interrupts

Комментарии

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

Похожие видео

  • О нас
  • Контакты
  • Отказ от ответственности - Disclaimer
  • Условия использования сайта - TOS
  • Политика конфиденциальности

video2dn Copyright © 2023 - 2025

Контакты для правообладателей [email protected]