Operating Systems Introduction Moti Geva

Slides:



Advertisements
Similar presentations
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Advertisements

Working Environment - - Linux - -.
Network+ Guide to Networks, Fourth Edition
Guide To UNIX Using Linux Third Edition
Introduction to Linux Chapter 1. Operating Systems Operating System (OS) - most basic and important software on a computer Performs core tasks Organize.
Introduction to Linux/UNIX. History UNIX beginnings in 1969 (Linus Torvalds is born!) AT & T Bell Laboratories (Ken Thompson & Dennis Richie) Working.
Unix Presentation. What is an Operating System An operating system (OS) is a program that allows you to interact with the computer -- all of the software.
UNIX/Linux System Programming Jordan University of Science and Technology History.
1 SEEM3460 Tutorial Unix Introduction. 2 Introduction What is Unix? An operation system (OS), similar to Windows, MacOS X Why learn Unix? Greatest Software.
CST334 Unix & X Window System
Chapter 10 – UNIX. History In late 1960s, two employees of Bell Labs (Ken Thompson & Dennis Ritchie) designed a new operating system to overcome the constraints.
COMP1070/2002/lec3/H.Melikian COMP1070 Lecture #3 v Operating Systems v Describe briefly operating systems service v To describe character and graphical.
Introduction to Linux Operating System Tutorial 1
Overview of Linux CS3530 Spring 2014 Dr. José M. Garrido Department of Computer Science.
POS/420 Introduction to Unix Philip Robbins – March 12, 2013 (Week 1)
CENT 305 Information Systems Security Linux Introduction.
Introduction to Linux ( I ) Sidney Fong 4 th Feb 2006.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Lesson 2-Touring Essential Programs. Overview Development of UNIX and Linux. Commands to execute utilities. Communicating instructions to the shell. Navigating.
UNIX Introduction. Computer Center, CS, NCTU 2 UNIX History  Before Multics there was chaos, and afterwards, too Multics:  Multiplexed information and.
UNIX/LINUX OPERATING SYSTEM. Introduction to Linux Introduction to Unix History of UNIX What is Linux Linux Distributions Linux Installation Unix File.
LINUX System : Lecture 7 Bong-Soo Sohn Lecture notes acknowledgement : The design of UNIX Operating System.
Welcome to CS323 Operating System lab 1 TA: Nouf Al-Harbi NoufNaief.net.
Just Enough Unix, Chapter 1
1 Operating Systems: Principles and Practice Cpr E 308.
Final Exam Review May 3 rd, 2004 Class Meeting 15.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
CSC 360- Instructor: K. Wu Interfaces to OS Services.
Λειτουργικά Συστήματα - Lab1 Γιάννης Πετράκης. The Operating System  Unix is a layered operating system  The innermost layer is the hardware that provides.
 Before Multics there was chaos, and afterwards, too › Multics:  Multiplexed information and Computing Service  1965 ~ 1969  Bell labs, GE, MIT 
Basic UNIX Concepts. Why We Need an Operating System (OS) OS interacts with hardware and manages programs. A safe environment for programs to run is required.
Introduction to UNIX CS 2204 Class meeting 1 *Notes by Doug Bowman and other members of the CS faculty at Virginia Tech. Copyright
Unix Servers Used in This Class  Two Unix servers set up in CS department will be used for some programming projects  Machine name: eustis.eecs.ucf.edu.
Introduction to C Programming Language. History of C  C was evolved by Dennis Ritchie at AT&T Bell Laboratories in early of 1970s  Successor of: ALGOL.
WHY AN OPERATING SYSTEM (OS) OS interacts with hardware and manages programs. Programs not expected to know which hardware they will run on. Must be possible.
Lab #1: UNIX crash course Introduction: History of Operating Systems Lesson #1: Navigating directories Lesson #2: Creating and editing files with emacs.
Computer Center | Network Group IISER Bhopal Introduction to Basic Component of Computer System Vinay Bajpai iiserb.ac.in Computer Center Indian.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to unix. The UNIX Operating System An operating system "OS” is a set of programs that controls a computer. It controls both the hardware.
CENG 334 – Operating Systems 01- Introduction Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
UDel CISC361 Study Operating System principles - processes, threads - scheduling - mutual exclusion - synchronization - deadlocks - memory management -
LINUX SYSTEM AND NETWORK ADMINISTRATION created by:gaurav shrivastava contact:-
By Jonathan Rinfret UNIX/LINUX By Jonathan Rinfret
Overview of Linux Fall 2016 Dr. Donghyun Kim
Introduction to threads
UNIX To do work for the class, you will be using the Unix operating system. Once connected to the system, you will be presented with a login screen. Once.
A History of Linux Damian Gordon.
Introduction to Operating Systems
Introduction.
COSC 350 System Programming
Software Tools Recitation 1
A Guide to Unix Using Linux Fourth Edition
Operating Systems Georgios Varsamopoulos
BSD (Unix) vs. GNU/Linux
What is an Operating System?
John Carelli, Instructor Kutztown University
Introduction to Operating Systems
Unix : Introduction and Commands
CSE 303 Lecture 1 introduction to Linux/Unix environment
Operating Systems Lecture 4.
Chapter 2: The Linux System Part 1
Introduction to Linux/UNIX
UNIX Introduction.
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
How can I learn C language?
Section 1: Linux Basics and SLES9 Installation
Operating System By Prakash G Asnani
Presentation transcript:

Operating Systems Introduction Moti Geva

Administration Course site Exercises 3 – 5 exercises. Done individualy. Signed in using submitweb. 40% of the grade (!) Where can you program 604 Linux labs. At home – any linux distro runnig kernel >= 2.6 (Ubuntu 8.10 recommeded).

Goals for the recitation Acquaintance with the Linux OS. Howto communicate with the OS. Binding theory and practice.

Course syllabus Introduction. Files. Processes. Memory Management. Inter Process Communication(IPC). Threads Miscellaneous.

Introduction What is an OS? What is the purpose of an OS? What designate the OS from other applications?

General OS structure Shell/Applications Kernel Hardware

UNIX Ken Thompson and Dennis Ritchie started development at Bell-Labs in – First Edition C was developed at Bell Laboratories in 1972 by Dennis Ritchie mainly in order to develop UNIX

UNIX(2) 1973, rewritten in C 2 Flavors of UNIX BSD System V What about Linux?

Linux Linux is a free Unix-type operating system Originally created by Linus Torvalds in 1991 Developed under GNU General Public License Free code Can be downloaded from the Internet

Linux Linux is a multi-user OS many users can log on simultaneously Linux is a multi-processing OS Many programs execute in parallel

Getting help UNIX and Linux have help mechanism called man pages (manual pages). Man pages are split into sections. Usage: man [-section#] e.g.: man ls man -2 bind Can also be found online e.g.

Man pages sections Section 1 – commands Section 2 – system calls Section 3 – C library function Section 4 – special files Section 5 – file formats Section 6 – games Section 7 – miscellaneous Section 8 – system management Section 9 – kernel routines

Some Linux commands ls cp cat cd chmod clear find kill less/more man mkdir/rmdir ps gcc editors kate/gedit/nano Programming IDE kdevelop/eclipse

Compiling under linux gcc [-o output_file] source_files E.g. gcc -o exmple example.c If no output_file is specified a.out is the default You may also use –Wall option for warnings gcc is GNU C Compiler

C vs. C++ Similar systax. Functional vs. object oriented struct, union, [class] Use of `typdef` Overloading, polymorphism Templates More reading can be found on the internet.

Object and functions

System modes In Linux the CPU runs in one of two modes User mode Privileged mode Each process running in user mode is limited in it’s capabilities It can’t perform many actions such as: Accessing I/O directly Allocating Memory Inter-Communicating with other processes Forking new processes …

Privileged Mode In privileged mode the full power of the CPU is at the program’s hand Program running in privileged mode can manipulate the memory, control I/O, change other user’s data… Therefore, only one program runs in privileged mode – the kernel Privileged mode is also known as kernel mode

System Calls (or OS services) Processes must get access to the privileged resources They can’t do it directly... The kernel can access the privileged resources The kernel has an API traditionally called “System calls” In Windows systems, system calls are reffered to as “Win32API”

System Calls (or OS services) (2) A system call is performed using software interrupt (on x86 machines) Upon system call the CPU switches into kernel mode Interrupts are handled with similarity to function calls The main difference is the that the process might not get the control right away

System Calls vs. Library Functions What’s are C-Library functions? What’s the difference between System Call and C-Library functions?

System Call vs. C Library Function e.g. open fopen close fclose read fscanf write fprintf