מערכות הפעלה ערן טרומר סמסטר א' תשע"ב

Slides:



Advertisements
Similar presentations
Principles of I/O Hardware I/O Devices Block devices, Character devices, Others Speed Device Controllers Separation of electronic from mechanical components.
Advertisements

Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.
Memory Management Paging &Segmentation CS311, CS350 & CS550.
Operating Systems Operating Systems - Winter 2009 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
1 OS Structure, Processes & Process Management. 2 Recap OS functions  Coordinator  Protection  Communication  Resource management  Service provider.
© 2004, D. J. Foreman 1 O/S Organization. © 2004, D. J. Foreman 2 Topics  Basic functions of an OS ■ Dev mgmt ■ Process & resource mgmt ■ Memory mgmt.
OS Spring’03 Introduction Operating Systems Spring 2003.
Figure 1.1 Interaction between applications and the operating system.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Chapter 5 Input/Output I/O Hardware I/O Software Software Layers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
1 CS503: Operating Systems Part 1: OS Interface Dongyan Xu Department of Computer Science Purdue University.
hardware and operating systems basics.
1 I/O and Filesystems. 2 How to provide interfaces Rough reading guide (no exam guarantee): Tanenbaum Ch. 5.1 – 5.5 & Silberschatz Ch. 13 & ,
COMP201 Computer Systems Exceptions and Interrupts.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
Solutions to the first midterm COSC 4330/6310 Summer 2012.
CSC 322 Operating Systems Concepts Lecture - 25: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Chapter 2: Computer-System Structures 2.1 Computer System Operation 2.5 Hardware Protection 2.6 Network Structure.
1 Chapter 2: Computer-System Structures  Computer System Operation  I/O Structure  Storage Structure  Storage Hierarchy  Hardware Protection  General.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
Host and Application Security Lesson 5: The Role of an OS.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Device Driver Concepts Digital UNIX Internals II Device Driver Concepts Chapter 13.
Security Architecture and Design Chapter 4 Part 2 Pages 319 to 357.
1 Lecture 19: Unix signals and Terminal management n what is a signal n signal handling u kernel u user n signal generation n signal example usage n terminal.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edit9on Lecture 3 Chapter 1: Introduction Provided & Updated by Sameer Akram.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 4. CONCEPT OF THE OPERATING SYSTEM MANAGING ESSENTIAL FILE OPERATIONS.
CSCE451/851 Introduction to Operating Systems
Introduction to Operating Systems Concepts
Computer System Structures
Input/Output (I/O) Important OS function – control I/O
Exceptional Control Flow
Lecture 13 Input/Output (I/O) Systems (chapter 13)
Chapter 2: Operating-System Structures
Chapter Objectives In this chapter, you will learn:
Memory Management Paging (continued) Segmentation
Interrupts and signals
Chapter 12: File System Implementation
Anton Burtsev February, 2017
Protection of System Resources
Exceptional Control Flow
Operating Systems Introduction
Input/Output.
CS 3305 System Calls Lecture 7.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Exceptional Control Flow: System Calls, Page Faults etc.
What is an Operating System?
Computer Software CS 107 Lecture 2 September 1, :53 PM.
Memory Management Paging (continued) Segmentation
CGS 3763 Operating Systems Concepts Spring 2013
What is an Operating System?
CS-3013 Operating Systems Hugh C. Lauer
B.Ramamurthy Chapter 2 : Appendix
Operating Systems Lecture 3.
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Basic Synchronization
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Memory Management Paging (continued) Segmentation
Operating Systems Structure
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

מערכות הפעלה ערן טרומר סמסטר א' תשע"ב הרצאה 1 מבוא

מקורות מידע הרצאות: עקרונות, רציונל, השוואה; דגש על Unix תרגילים: יישום, הדגמות, הכנה לתרגילים; דגש על Windows ספר הקורס: מערכות הפעלה / סיון טולדו ספרים אחרים: Tanenbaum / Modern Operating Systems Silberschatz / Operating System Concepts שקפי הרצאות שקפים והדגמות בתרגולים אתר הקורס: http://cs.tau.ac.il/~apartzin/os2012/OS.htm רשימת תפוצה: http://groups.google.com/group/os_tau_2012a הגדרות ממשק ומקורות נוספים – בהמשך

ציון 7 תרגילים, שבועיים להגשה (יופחת ציון על איחור) עבודה עצמאית הגשת תשובות נכונות ועצמאיות לכל התרגילים היא תנאי לגישה למבחן ציון 100% מבחן כרבע מהמבחן יהיה קל למי שפתר את התרגילים יסודית

מטרת הקורס הבנת תפקיד מערכת ההפעלה הבנת רבדי מערכת ההפעלה ומימשקיהם הבנת החלופות (המוצדקות תיאורתית וגם המציאותיות) הכרת ממשקי המערכת לתכנות יישומים התנסות בתכנות בשכבה נמוכה

מערכת ההפעלה המונח העברי התקני ל-interface הוא מנשק. ממשק הוא שיבוש (נפוץ). מגינה על חומרה על מנת לתחם תקלות ולהגביל השפעה בין תוכניות מנהלת את משאבי החומרה (זיכרון, זמן מעבד, דיסקים, רשת תקשורת) ביעילות והגינות מספקת לתוכניות ממשקים אחידים ונוחים לשימוש בהתקני חומרה (אבסטרקציה) יש להבחין בין: ליבת מערכת ההפעלה (מוקד הקורס) שרותי המערכת ואתחולה (נזכיר) יישומים נלווים וחבילות הפצה (לא רלוונטי)

חשיבות ההגנה על חומרה ריבוי תוכנות ומשתמשים תוכנית אחת לא יכולה לקרוא או לכתוב מידע של אחרת תקלה בתוכנית אחת לא משפיעה על אחרות השתלטות על משאב על ידי תוכנית אחת לא תוקעת תוכניות אחרות

שליטה בהתקנים חיצוניים התקנים חיצוניים מחוברים לבקרים שמחוברים לפס התקשורת המרכזי של המחשב (לעיתים יש למחשב מספר פסים)

תקשורת עם בקרים מידע מועבר בין המעבד ובקרים בעזרת רצוי לעבור על הדוגמה ולהסביר את המשמעות של כל פקודה. מידע מועבר בין המעבד ובקרים בעזרת פקודות קריאה/כתיבה מיוחדות שמדליקות את סיבית הקלט/פלט פקודות קריאה/כתיבה מזיכרון כל בקר מגיב לתחום כתובות מסוים כתובת במרחב הזיכרון load r5 = *(r4) store *(r4) = r6 mov r3 = r8 add r3 = r3 + r8 ioread r5 = *(r4) iowrite *(r4) = r6 כתובת במרחב IO (port)

תקשורת על הפס load r5 = *(r4) store *(r4) = r6 mov r3 = r8 כאן כדאי להסביר מה קורה על הפס (bus) בכל פקודה. load r5 = *(r4) store *(r4) = r6 mov r3 = r8 add r3 = r3 + r8 ioread r5 = *(r4) iowrite *(r4) = r6 התקנים חיצוניים ↕ בקרים ↕ פס התקשורת המרכזי ↕ מעבד

הגנה על התקנים חיצוניים – מצב מיוחס שני מצבי ריצה: מצב משתמש (user mode) ומצב מיוחס (kernel mode) במצב מיוחס הכל מותר – המעבד מציית לכל פקודה במצב משתמש פקודות מסוימות אסורות פקודות קלט/פלט שמדליקות את סיבית הקלט/פלט בפס מותרות רק במצב מיוחס בקרים שמגיבים לפקודות קריאה/כתיבה מזיכרון מוגנים בעזרת מנגנון ההגנה על זיכרון (נדון בהמשך)

גישת להתקנים על מנת לגשת להתקן חיצוני, תוכניות קוראות לשגרה של מערכת ההפעלה הקריאה מתבצעת בנוהל מיוחד שמעביר את המעבד למצב מיוחס, על מנת שמערכת ההפעלה תוכל לתקשר עם הבקר מערכת ההפעלה לרוב תאפשר לא תרשה גישה ישירה לבקר מערכת ההפעלה מכילה מנהל התקן (device driver), אשר מתווך בין התוכנית לבקר

קריאות מערכת (system calls) נוהל קריאה לשגרות של מערכת ההפעלה משתמש במנגנון פסיקת תוכנה (software interrupt) או דומה מעביר את המעבד למצב מיוחס; חזרה מקריאת מערכת מחזירה את המעבד למצב משתמש ציון השגרה שרוצים לקרוא לה על ידי מזהה מספרי ולא על ידי כתובת (למשל 3=read, 4=write, 5=open, וכדומה) אין שימוש בכתובת על מנת למנוע מעבר לשגרה שאינה של מערכת ההפעלה במצב מיוחס בזמן קריאת המערכת, המעבד מריץ קוד של מערכת הפעלה, והתוכנית בהקפאה

קריאות מערכת - דוגמה User program writes to terminal (user mode) … mov r0 = 4 ; read system call mov r1 = 1 ; terminal output int ; software interrupt cmp r0, 0 ; check error code bne error ; jump to error handler if error code is nonzero ; now the read data is in r1 ... Interrupt handler for software interrupt (kernel mode) handle_interrupt: cmp r0, 3 ; is it a read call? je sys_read ; yes, handle it Cmp r0, 4 ; is it write call? je sys_write ; yes, handle it ...

הגנה על חומרה: המעבד אם תוכנית נתקעת בלולאה אין-סופית תוכניות אחרות ממשיכות לרוץ אחת לפרק זמן קבוע פסיקת שעון מעבירה את המעבד לביצוע שגרה של מערכת ההפעלה; המעבר לשגרת הפסיקה מעביר את המעבד למצב מיוחס, חזרה מחזירה אותו למצב הקודם הכתובת של השגרה הזו שמורה באוגר שלא ניתן לשנות במצב משתמש מערכת ההפעלה אינה "רצה ברקע" אותו מנגנון מגן על תהליכים פנימיים במערכת ההפעלה (לשם פשטות אנו כגע מניחים מעבד בודד, ליבה בודדת, בלי SMT)

הגנה על זיכרון (memory protection) יש להגן על: מערכת ההפעלה מפני תוכניות בקרים בעלי ממשק זכרון מפני תוכניות תוכניות אחת מרעותה לכן כל גישה לזיכרון דורשת אישור מערכת ההפעלה דורש מימוש יעיל (תקורה נמוכה) שיתוף פעולה בין מערכת ההפעלה והמעבד כל גישה לזיכרון נבדקת על ידי המעבד מול טבלאות שמערכת ההפעלה מתחזקת – פרטים בהמשך שינוי הטבלאות דורש מצב מיוחס

ממשקים אחידים לגישה לחומרה מגוון אדיר של התקני חומרה דומים אך לא זהים תוכניות זקוקות לממשק אחיד לגישה לחומרה על מנת שיוכלו לרוץ ללא שינוי על מחשבים עם התקנים שונים פתרון: ספריית שגרות בעלות ממשק אחיד שכל אחת מהן ניגשת לסוג אחר של התקן חומרה הספרייה הזו היא חלק ממערכת ההפעלה, בעיקר משיקולי ביצועים (האלטרנטיבה, microkernel, לא הצליחה) הממשק לתוכניות בעיקר על ידי קריאות מערכת דוגמאות: התקני אכסון; כרטיסי רשת; כרטיסי מסך

ממשקים משופרים לגישה לחומרה הממשק שהשגרות הללו מספקות יכול לספק שירותים שהחומרה אינה מסוגלת לספק בעצמה דוגמאות: אחסון או תקשורת נתונים אמינה בעזרת חומרה לא אמינה הצפנת נתונים לאחסון או תקשורת לא מאובטחת מערכות קבצים יכולות כאלה כלולות במערכות הפעלה משיקולי ביצועים או שווק

ניהול יעיל והוגן של חומרה יעילות: מירב את הנצילות של משאבי חומרה לטובת תוכניות רגילות ומשתמשים. דוגמה: חלוקת הזכרון, קווי תקשורת, תזמון גישה לדיסק מזעור תקורה – משאבים שמערכת ההפעלה עצמה צורכת או שמתבזבזים סתם בגלל ניהול כושל הגינות חלוקת המשאבים: בין משתמשים בין תוכניות שרצות בו-זמנית אכיפת מדיניות: לא שילמת לא קיבלת תוכניות אינטראקטיביות לעומת חישוב רקע