We may earn an affiliate commission when you visit our partners.
Course image
Domenico Cotroneo

Questo corso presenta i concetti fondamentali dei moderni sistemi operativi. Gli argomenti includono architetture dei sistemi operativi, pianificazione dei processi, sincronizzazione dei processi simultanei, gestione della memoria e memoria virtuale, I / O e file system e macchine virtuali e hypervisor. I concetti in questo corso non sono limitati a nessun particolare sistema operativo o piattaforma hardware. Discuteremo con esempi esempi nel sistema operativo Unix e presenteremo anche il sistema operativo Android.

Read more

Questo corso presenta i concetti fondamentali dei moderni sistemi operativi. Gli argomenti includono architetture dei sistemi operativi, pianificazione dei processi, sincronizzazione dei processi simultanei, gestione della memoria e memoria virtuale, I / O e file system e macchine virtuali e hypervisor. I concetti in questo corso non sono limitati a nessun particolare sistema operativo o piattaforma hardware. Discuteremo con esempi esempi nel sistema operativo Unix e presenteremo anche il sistema operativo Android.

This course presents the fundamental concepts of modern operating systems. It also explores the design and the implementation issues of computer operating systems. Topics include operating system architectures, process scheduling, synchronization of concurrent processes, memory management and virtual memory, I/O and file systems, and virtual machines and hypervisors. The concepts in this course are not limited to any particular operating system or hardware platform. We will discuss examples in Unix OS, and we will also present Android OS.

What you'll learn

1. Descrivere come le risorse di elaborazione (come CPU, I / O e memoria) sono gestite dal sistema operativo, descrivere i principi di base utilizzati nella progettazione di sistemi operativi moderni.
2. Confrontare gli algoritmi comuni utilizzati per la pianificazione preventiva e non preventiva delle attività nei sistemi operativi, come priorità e confronto delle prestazioni. Contrasto kernel e modalità utente in un sistema operativo
3. Valutare e segnalare le scelte progettuali appropriate quando si risolvono problemi reali.
4. Approccio alla concorrenza e alle loro basi. Ciò include processi e thread su UNIX; meccanismi di comunicazione e coordinamento tra processi simultanei (memoria condivisa e modelli di passaggio di messaggistica).

1. Describe how computing resources (such as CPU, I/O and memory) are managed by the operating system, describe the basic principles used in the design of modern operating systems.
2. Compare and contrast the common algorithms used for both pre-emptive and non-pre-emptive scheduling of tasks in operating systems, such a priority, and performance comparison. Contrast kernel and user mode in an operating system
3. Evaluate and report appropriate design choices when solving real-world problems.
4. Approach to concurrency and their foundations. This includes processes and threads on UNIX; mechanisms for communication and coordination across concurrent processes (shared memory and messaging passing models).

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Il corso offre una solida base per i principianti
Il corso copre i concetti fondamentali dei sistemi operativi
Gli esempi e le presentazioni utilizzate nel corso sono utili per la comprensione
Il corso è accessibile e ben strutturato
Il corso offre un approccio bilanciato tra teoria e pratica
Il corso è tenuto da Domenico Cotroneo

Save this course

Save I sistemi Operativi Moderni to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in I sistemi Operativi Moderni with these activities:
Riorganizza gli appunti del corso e crea una guida di studio
Riorganizzare gli appunti e creare una guida di studio migliorerà la tua capacità di rivedere e comprendere il materiale del corso.
Show steps
  • Raccogli e organizza i tuoi appunti del corso, le lezioni e qualsiasi altro materiale didattico.
  • Identifica gli argomenti principali e i concetti chiave.
  • Crea una guida di studio che riassuma i concetti chiave, inclusi esempi e note importanti.
Segui un tutorial su come creare una macchina virtuale con hypervisor
Seguire un tutorial sulla creazione di una macchina virtuale con un hypervisor ti fornirà esperienza pratica con questi concetti chiave dei sistemi operativi.
Show steps
  • Trova un tutorial su come creare una macchina virtuale con un hypervisor.
  • Segui le istruzioni del tutorial, assicurandoti di comprendere ogni passaggio.
  • Crea la tua macchina virtuale e sperimenta con essa.
Crea un riepilogo della gestione della memoria in UNIX
Creare un riepilogo sulla gestione della memoria in UNIX ti aiuterà a comprendere e consolidare i concetti trattati in classe.
Browse courses on Unix
Show steps
  • Rivedi le lezioni e i materiali del corso sulla gestione della memoria in UNIX.
  • Identifica i concetti chiave e le relazioni tra loro.
  • Scrivi o registra un riepilogo che spieghi in modo conciso ma esauriente questi concetti.
Show all three activities

Career center

Learners who complete I sistemi Operativi Moderni will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers design, build, test, and maintain the software that powers everything from our computers to our phones. With its emphasis on the core concepts of modern operating systems, this course can provide you with a solid foundation in the fundamental principles used in software development, such as process scheduling, memory management, and I/O. This knowledge can be particularly valuable in the context of developing operating systems and other low-level software.
Software Engineer
Software Engineers apply engineering principles to the design, development, testing, and maintenance of software systems. By studying the topics covered in this course, you can gain a deep understanding of how operating systems work, which can be invaluable in developing and maintaining complex software systems. The course's focus on concepts such as process management, memory management, and I/O can provide you with a solid foundation for building reliable and efficient software.
Computer Programmer
Computer Programmers write and maintain the code that makes computers work. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for writing efficient and reliable code. The course's focus on topics such as process scheduling, memory management, and I/O can be particularly valuable in developing high-performance computing applications.
Systems Administrator
Systems Administrators install, configure, and maintain computer systems and networks. A strong understanding of operating systems is essential for this role, and this course can provide you with a deep understanding of how operating systems work, including their architecture, process management, memory management, and I/O. This knowledge can be invaluable in managing complex computing environments and ensuring the reliable operation of computer systems.
Network Administrator
Network Administrators install, configure, and maintain computer networks. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for understanding how networks operate. The course's focus on topics such as process scheduling, memory management, and I/O can be particularly valuable in managing complex network environments.
Computer Security Analyst
Computer Security Analysts plan and implement security measures to protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for understanding how to secure computer systems. The course's focus on topics such as process management, memory management, and I/O can be particularly valuable in developing and implementing security measures.
Database Administrator
Database Administrators install, configure, and maintain databases. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for understanding how databases operate. The course's focus on topics such as process scheduling, memory management, and I/O can be particularly valuable in managing complex database environments.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for understanding how computers work and how to troubleshoot problems. The course's focus on topics such as process scheduling, memory management, and I/O can be particularly valuable in providing support to users who are experiencing problems with their computers.
Mobile Application Developer
Mobile Application Developers design and develop mobile applications. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for understanding how mobile operating systems work. The course's focus on topics such as process scheduling, memory management, and I/O can be particularly valuable in developing and maintaining high-performance mobile applications.
Web Developer
Web Developers design and develop websites. This course can provide you with a solid foundation in the fundamental principles of operating systems, which are essential for understanding how web servers work. The course's focus on topics such as process scheduling, memory management, and I/O can be particularly valuable in developing and maintaining high-performance web applications.
Data Scientist
Data Scientists use data to solve problems and make informed decisions. A strong understanding of operating systems is not typically required for this role, but this course may be helpful for Data Scientists who want to develop a deeper understanding of how computers work and how to manage data efficiently.
Data Analyst
Data Analysts collect, analyze, and interpret data to help businesses make informed decisions. A strong understanding of operating systems is not typically required for this role, but this course may be helpful for Data Analysts who want to develop a deeper understanding of how computers work and how to manage data efficiently.
Project Manager
Project Managers plan, organize, and manage projects to ensure their successful completion. A strong understanding of operating systems is not typically required for this role, but this course may be helpful for Project Managers who want to develop a deeper understanding of how computers work and how to manage resources efficiently.
Business Analyst
Business Analysts analyze business processes and systems to identify opportunities for improvement. A strong understanding of operating systems is not typically required for this role, but this course may be helpful for Business Analysts who want to develop a deeper understanding of how computers work and how to manage data efficiently.
IT Manager
IT Managers plan, organize, and direct the activities of an organization's IT department. A strong understanding of operating systems is not typically required for this role, but this course may be helpful for IT Managers who want to develop a deeper understanding of how computers work and how to manage IT resources efficiently.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in I sistemi Operativi Moderni.
This textbook provides a more modern and up-to-date overview of operating systems than Silberschatz's book. It covers topics such as virtualization, cloud computing, and mobile operating systems.
This online textbook provides a concise and easy-to-understand overview of operating systems concepts. It good resource for students who are new to operating systems or who want to brush up on their knowledge.
Provides a comprehensive overview of advanced programming techniques in the Unix environment. It valuable resource for students and professionals who want to learn more about how to write high-performance Unix programs.
Provides a comprehensive overview of network programming in the Unix environment. It valuable resource for students and professionals who want to learn more about how to write network applications in Unix.
Provides a comprehensive overview of computer systems from a programmer's perspective. It valuable resource for students and professionals who want to learn more about how computers work.
Provides a concise and easy-to-understand overview of the fundamental concepts of computer science. It valuable resource for students and professionals who want to learn more about the basics of computing.
Provides a comprehensive overview of algorithms. It valuable resource for students and professionals who want to learn more about how to design and implement efficient algorithms.
Provides a comprehensive overview of automata theory, languages, and computation. It valuable resource for students and professionals who want to learn more about the theoretical foundations of computer science.
Provides a comprehensive overview of machine learning. It valuable resource for students and professionals who want to learn more about the principles and applications of machine learning.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser