Cross-platform Libraries Technology Presentation

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

What is an operating system? Is it software?
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
14 Macintosh OS X Internals. © 2005 Pearson Addison-Wesley. All rights reserved The Macintosh Platform 1984 – first affordable GUI Based on Motorola 32-bit.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Operating Systems Parallel Systems (Now basic OS knowledge)
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Operating Systems. What is an Operating System? A layer of software between users/applications and the hardware. The first program loaded onto a computer.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
Computer Forensics Principles and Practices by Volonino, Anzaldua, and Godwin Chapter 6: Operating Systems and Data Transmission Basics for Digital Investigations.
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
OPERATING SYSTEMS Introduction
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
Operating Systems Sameer Mahajan. Overview Process management Interrupts Memory management File system Device drivers Networking (TCP/IP, UDP) Security.
Week 6 Operating Systems.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Computer Concepts 2013 Chapter 4 Operating Systems and File Management.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
4 1 Operating System Activities  An operating system is a type of system software that acts as the master controller for all activities that take place.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Operating Systems  A collection of programs that  Coordinates computer usage among users  Manages computer resources  Handle Common Tasks.
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
How Hardware and Software Work Together
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
INFO 320 Server Technology I Week 1 Server operating system and hardware concepts 1INFO 320 week 1.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Computer System Structures
Chapter 4: Operating System Basics
Operating System & Application Software
Introduction to Kernel
Module 12: I/O Systems I/O hardware Application I/O Interface
LINUX WINDOWS Vs..
The Mach System Sri Ramkrishna.
Chapter 5: Using System Software
Chapter 12: File System Implementation
Chapter 4: Multithreaded Programming
Operating System Structure
THE OPERATION SYSTEM The need for an operating system
KERNEL ARCHITECTURE.
LINUX WINDOWS Vs..
What is an Operating System?
Operation System Program 4
Chapter 4: Threads.
Threads, SMP, and Microkernels
Case Study 2: Windows History of windows 2000
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Modified by H. Schulzrinne 02/15/10 Chapter 4: Threads.
Intro. To Operating Systems
Chapter 2: The Linux System Part 1
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Mid Term review CSC345.
Lecture Topics: 11/1 General Operating System Concepts Processes
B.Ramamurthy Chapter 2 : Appendix
Threads Chapter 4.
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Mac OS X thread APIs Mach threads POSIX threads (pthreads)
Outline Operating System Organization Operating System Examples
Operating Systems Structure
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Cross-platform Libraries Technology Presentation Distributed Objects Cross-platform Libraries Technology Presentation Cunyang Shui

Topics Why do we need cross-platform library? Difference in Windows, Linux and Mac OS Inter-process communication My project plan

Hello World Cross-platform standard library e.x. GNU in Linux, Clang in Mac OS Most famous program “hello world” How cout works ? -> Because of standard library <iostream> Why in every platform, we can use <iostream> ? -> cross platform library created in compiler by official. (ex. GNC in Linux, Clang in Mac OS) What I will do with?

Difference in Operating Systems Many many OS many many same responsibility : directly control HW, schedule your process and task, thread, manage memory, manage files … I will briefly introduce three main of them: Windows, Linux and Mac OS Many many aspects among Oses, correct me if I am wrong

Windows Born in 1985 Windows NT kernel after Windows 2000 Working on some specific platforms Not free & not open source Born in 1985, not most use, over 90% personal computer installed Windows Windows 9x kernel before Windows 2000, Since 2000, MS use Windows NT as its kernel Working on some specific platforms, Since it is not open source, you cannot modify it by yourself. But if you really want Windows works for some specific architecture, You can pay for MS and let them do it for you. Windows Architecture -> introduce some Another specific thing I want to mention is: Graphic process are in the kernel space. One factor that why it is more suitable for gaming. https://msdn.microsoft.com/en-us/windows/hardware/drivers/gettingstarted/user-mode-and-kernel-mode

Linux “Linux” means Kernel, but more refers OS build on Linux kernel today. Born in 1991, hobby by Linus Torvalds Working on almost every platforms (x86, ARM … ) Free to use & open source Linux in fact means kernel, but I am using Linux refer OS build over Linux kernel, like Ubuntu. It is Unix like OS, most popular in server. Nowadays, diverse devices like tablets, smartphones use Linux kernel. Android. Issued by GNU, free license 1991 hobby by Linus Torvalds. Now, developed by whole community. He still over watch the last process --- merge. Decide put the code in or not in the release version Since open source, working on almost every platforms (x86, ARM … ) Open source means high customized, you can cut any code away when you don’t need it to improve efficiency. E.x. for server, you don’t need graphic user interface Similar as structure in Windows. 3 layer. Four main parts in Linux kernel middle layer: 1. character devices, terminal. 2. network devices, sockets and protocols. 3. Manage storage system. Not file system. -> disk device drivers, page and buffer caches, file systems, virtual memory. 4. Scheduling. dispatching, process scheduling. https://www.ibm.com/developerworks/library/l-linux-kernel/

Mac OS Born in 1984 Working on PowerPC and x86 “Darwin” Kernel, from NeXTUP OS Free or not free ??? Open source Fewer viruses Was Born in 1984, using XNU license Working on PowerPC and x86 architecture, OS 10.4.4 first x86 since 10.6, it is not support powerPC anymore. OS 10.5 become Unix based OS Diagram shown here is kernel structure, called “Darwin”, from NeXTUP OS Mach 3.0 from CMU, BSD, IOKit Free or not free ??? Open source Fewer viruses, in mu opinion, because of fewer user, hacker don’t want to waste time in these fewer users. Another things, Graphical OS at the beginning, so early date, it is more human friendly. Reference: OS X and iOS kernel programming

Memory Management Requirements Protection Sharing Relocation Organization 4 main requirements: protection, sharing, Relocation: paging Organization: when and what to store in RAM & when and what to back up it to paging files. Virtual memory For each platform, 4 GB for each process. 2G for kernel space in Win, 1G for kernel space in Linux. Share Memory Share memory is not allowed at early Mac OS, but later with extension framworks, we can do it now. Share memory -> segments. “ipcs -m” Four kind of Memory in Mac OS Free Wired -> kernel memory Active -> currently be used memory Inactive -> recently accessed, named cached. -> that is why RAM is critical in Mac OS Organization Mac OS’s virtual memory address is always on. In Linux and Windows, the virtual address is created based on the size needed by the user.

Process Management Windows A task request a process. Process assign a security token. Linux Hierarchy mechanism to create process. First process is init process. Tasks are handled in a data structure. Mac OS Use Grand Central Dispatch to control process. Program create blocks. Run-queue to schedule them W Process started when a task request. Task is the unit of resource ownership. To be simple, code can create a process in Windows, by syscall Process assign a security access token. This token contains information about this process. For token, process object are attributes, actions or the services. L Hierarchy mechanism to create process, all process come from parent process. And first process is init Tasks are handled in a data structure, similarly, contains information about each process, states, running, waiting … Another specification is that Linux takes user level threads for the task, and can mapping them to kernel level with the same group id, that allows shared memory in Linux M Use Grand Central Dispatch to control process, which contains a pool of available threads. Program create blocks, which contains code and data. Mac OS use a data structure called run-queue to store the blocks, using first in first out processing

File Management Windows Linux Mac OS Manager Windows Explorer Folder Finder Format FAT or NTFS Ext HFS+ Structure Partition based and \ All files under / Case sensitivity Yes No Exclusive access

Inter-process Communication (IPC) File Sockets Shared memory Pipe

Project plan File system library Thread pool library Sockets library Shared memory library

Questions

Thank you !

Topics Why do we need cross-platform library? Difference in Windows, Linux and Mac OS(kernel and file system) Inter-process Communication My project plan (file system, thread pool, sockets, shared memory, pipe)