Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Bab 1: Pendahuluan.

Presentasi serupa


Presentasi berjudul: "Bab 1: Pendahuluan."— Transcript presentasi:

1 Bab 1: Pendahuluan

2 Bab1: Pendahuluan Fungsi sistem operasi Organisasi Sistem Komputer
Arsitektur Sistem Komputer Struktur sistem operasi Operasi pada sistem operasi Manajemen Proses Manajemen Memory Manajemen Penyimpanan Data (Storage) Proteksi dan Sekuritas Distributed Systems Special-Purpose Systems Computing Environments

3 Tujuan Bab ini bertugas memberikan penjelasan secara umum untuk tiap komponen-komponen sistem operasi Bab ini bertugas memberikan penjelasan tentang organisasi sistem komputer

4 Apa itu Operating System?
Sebuah program yang bertugas sebagai interface antara user dengan hardware komputer Tujuan Operating system : Mengeksekusi program milik user dan memudahkan user untuk menyelesaikan masalah dengan mudah Membuat sistem komputer mudah untuk digunakan Menggunakan hardware komputer dengan efisien

5 Struktur Sistem Komputer
Computer system dapat dibagi menjadi 4 komponen Hardware – sebagai resource untuk komputasi dasar CPU, memory, I/O devices Operating system Controls and coordinates use of hardware among various applications and users Program aplikasi – define the ways in which the system resources are used to solve the computing problems of the users Word processors, compilers, web browsers, database systems, video games User manusia, mesin, komputer lain

6 Empat Komponen Sistem Komputer

7 Definisi Operating System
OS bertugas melakukan alokasi resource Melakukan manajemen resource Mengambil keputusan saat terjadi konflik request agar resource dapat digunakan secara fair dan efisien OS adalah control program Artinya, OS mengendalikan eksekusi program-program untuk mencegah error dan pemakaian komputer yang tidak bijak

8 Definisi Operating System (Cont.)
Tidak ada definisi yang pasti mengenai sistem operasi Tiap sistem operasi bergantung pada pembuat sistem operasi tersebut Akibatnya, sistem operasi bervariasi Program yang terus beroperasi pada hardware komputer disebut kernel . Sementara program-program lain adalah system program (yang membentuk sistem operasi, seperti : disk defragmenter, printing, melihat isi directory, dll ). Sisanya adalah program aplikasi. (game, word, dll) Kernel developers focus on interfaces, data structures, algorithms, and optimization for the core of the operating system. System programmers write daemons, utilities, and other tools for automating common or difficult tasks. Device drivers use the interfaces and data structures written by the kernel developers to implement device control and IO

9 Kernel Kernel adalah program yang bertugas mengatur input/output request dari aplikasi/user menuju resource dari komputer, yaitu : CPU, memory, I/O, atau devais lainnya dari komputer

10 Computer System Organization
Computer-system operation Satu atau lebih CPUs, device controllers terkoneksi lewat bus untuk dapat mengakses shared memory Eksekusi instruksi CPU dan devais yang terus-menerus membutuhkan cycles memory

11 Operasi pada Sistem Komputer
I/O devices dan CPU bekerja sama secara terus-menerus Tiap device controller adalah hardware yang bertugas untuk tiap tipe devais Tiap device controller memiliki local buffer. CPU memindahkan data dari/ke main memory dari/ke local buffers Device controller memberi tahu CPU bahwa tugasnya untuk mentransfer request ke local buffer telah selesai dengan menggunakan interrupt. I/O is from the device to local buffer of controller. The Device Controller receives the data from a connected device and stores it temporarily in some special purpose registers (i.e. local buffer) inside the controller. Then it communicates the data with a Device Driver . For each device controller there is an equivalent device driver which is the standard interface through which the device controller communicates with the Operating Systems through Interrupts. Device controller is a hardware whereas device driver is a software. The controller's job is to convert the serial bit stream to block bytes and perform any error correction necessary.

12 Device I/O address

13 Interrupts Operating systems dikendalikan oleh interrupt
Interrupt adalah request layanan dari CPU Contoh interrupt : Mouse moved. Disk drive at sector/track position(old days). Keyboard key pressed. Printer out of paper. Video card wants memory access. Modem sending or receiving. USB scanner has data. Tiap interrupt ini membutuhkan penanganan yang berbeda, tergantung jenis dan asal interrupt.

14 Hardware & Software Interrupts
Interrupt bisa dilakukan hardware lewat the system bus (e.g., mouse moved) Interrupt bisa dilakukan software (e.g., system call for I/O, trap for division by zero)

15 Interrupt Timeline

16 I/O Structure After I/O starts, control returns to user program only upon I/O completion. Wait instruction idles the CPU until the next interrupt Wait loop (contention for memory access). At most one I/O request is outstanding at a time, no simultaneous I/O processing. After I/O starts, control returns to user program without waiting for I/O completion. System call – request to the operating system to allow user to wait for I/O completion. Device-status table contains entry for each I/O device indicating its type, address, and state. Operating system indexes into I/O device table to determine device status and to modify table entry to include interrupt.

17 Scheduling I/O Scheduling I/O requests can greatly improve overall efficiency. Priorities can also play a part in request scheduling. The classic example is the scheduling of disk accesses, as discussed in detail in chapter 12. Buffering and caching can also help, and can allow for more flexible scheduling options. On systems with many devices, separate request queues are often kept for each device

18 Tabel Device-Status

19 Direct Memory Access Direct Memory Access: a device driver assigns a specific memory segment to the device controller device controller can transfer an entire block of data directly to/from main memory without CPU intervention. only one interrupt is generated per block, rather than the one interrupt per byte For example : a sound card may need to access data stored in the computer's RAM, but since it can process the data itself, it may use DMA to bypass the CPU. Video cards that support DMA can also access the system memory and process graphics without needing the CPU. simple keyboard processing: user types character at keyboard keyboard controller sends interrupt to CPU CPU must complete current instruction, then save state control is transferred to interrupt service routine, which: stores char in a buffer & increments buffer pointer sets flag to notify OS that input is available (can be transferred to requesting program) must restore CPU state and resume processing For high-speed I/O devices, the combined overhead of the interrupts may be too costly

20 Storage Structure Main memory – only large storage media that the CPU can access directly. Secondary storage – extension of main memory that provides large nonvolatile storage capacity. Magnetic disks – rigid metal or glass platters covered with magnetic recording material Disk surface is logically divided into tracks, which are subdivided into sectors. The disk controller determines the logical interaction between the device and the computer.

21 Storage structure Memory is organized in a hierarchy
tradeoffs: speed, cost, volatility primary memory fast, expensive, volatile data is stored in electronic circuitry only storage CPU can access directly Secondary memory slow, cheap, permanent data is stored magnetically or optically or "physically" can store massive amounts of inactive data, must be copied to primary memory to be accessed cpu secondary memory primary memory

22 Caching Caching – copying information into faster storage system; main memory can be viewed as a last cache for secondary storage. Important principle, performed at many levels in a computer Web cache, dns-cache, etc Information in use copied from slower to faster storage temporarily Faster storage (cache) checked first to determine if information is there If it is, information used directly from the cache (fast) If not, data copied to cache and used there Cache smaller than storage being cached Cache management important design problem Cache size and replacement policy Cache L1 : piring Cache L2 : dapur RAM : pasar Cache seperti kita duduk di meja makan. Piring kita adalah cache untuk makanan yang datang dari dapur. Piring ukurannya lbh kecil dari dapur . Piring nanti mengambil di dapur Dapur mengambil isinya dari pasar. Dapur < pasar Jika kita mau makan, dan harus ke pasar, pasti terlalu lama. Karena itu perlu ada cache untuk menyingkat waktu

23 Performance of Various Levels of Storage
Movement between levels of storage hierarchy can be explicit or implicit

24 Migration of Integer A from Disk to Register
Multitasking environments must be careful to use most recent value, not matter where it is stored in the storage hierarchy Multiprocessor environment must provide cache coherency in hardware such that all CPUs have the most recent value in their cache Distributed environment situation even more complex Several copies of a datum can exist Various solutions covered in Chapter 17 CPU

25 Operating System Structure
Multiprogramming digunakan untuk meningkatkan efisiensi Single user CPU and I/O devices busy at all times Multiprogramming organizes jobs (code and data) so CPU always has one to execute A subset of total jobs in system is kept in memory One job selected and run via job scheduling When it has to wait (for I/O for example), OS switches to another job Timesharing (multitasking) is logical extension in which CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing Response time should be < 1 second Each user has at least one program executing in memory process If several jobs ready to run at the same time  CPU scheduling If processes don’t fit in memory, swapping moves them in and out to run Virtual memory allows execution of processes not completely in memory

26 Memory Layout for Multiprogrammed System

27 Time sharing

28 Operating-System Operations
Interrupt dilakukan oleh hardware Software error atau request menyebabkan terjadinya exception atau trap Division by zero, request for operating system service Other process problems include infinite loop, processes modifying each other or the operating system Dual-mode operation allows OS to protect itself and other system components User mode and kernel mode Mode bit provided by hardware Provides ability to distinguish when system is running user code or kernel code Some instructions designated as privileged, only executable in kernel mode System call changes mode to kernel, return from call resets it to user

29 System calls All operating systems provides some mechanism to request services from the kernel. This service request points are called “system calls” In Linux system, there is an interface layer between the user space and kernel space. This layer consists of library made up of functions that communicate between normal user applications and the Kernel. This implementation of C library is called libc/glibc. This provides wrapper functions for the system calls. System calls are implemented using software interrupt or trap. System call transfer control to the operating system. It sets the system call number, the C arguments into the general registers and then executes some machine instruction that generates a software interrupt in the kernel. Many years ago, when computers were as big as a room, users ran their applications with much difficulty and, sometimes, their applications crashed the computer. To avoid having applications that constantly crashed, newer OSs were designed with 2 different operative modes: Kernel Mode: the machine operates with critical data structure, direct hardware (IN/OUT or memory mapped), direct memory, IRQ, DMA, and so on. User Mode: users can run applications. System calls are like special functions that manage OS routines which live in Kernel Mode. A system call can be called when we: access an I/O device or a file (like read or write) need to access privileged information (like pid, changing scheduling policy or other information) need to change execution context (like forking or executing some other application) need to execute a particular command (like ''chdir'', ''kill", ''brk'', or ''signal'')

30 System Call

31 Process Management Proses adalah program yang berjalan. Proses merupakan bagian dari system. Jika program dapat dikatakan sebagai passive entity, process dikatakan sebagai active entity. Process membtuhkan resource untuk melakukan tugasnya (task) CPU, memory, I/O, files Initialization data Penghentian atau terminasi proses akan mengembalikan resource yang digunakan sebelumnya Lab : Matikan seluruh aplikasi di komputer anda Buka task manager , klik show all user process Coba klik start, buka calculator dan jalankan task manager Lihat entry calculator =>aplikasi proses 1 Buka calculator lagi dan lihat di task manager Lihat entry calculator => aplikasi proses 2 An application is a program which you interact with on the desktop. This is what you spend almost all of your time using on the computer. Internet explorer, microsoft word, iTunes, skype - they are all applications. A process is an instance of a particular executable (.exe program file) running. A given application may have several processes running simultaneously. For example, some modern browsers such as google chrome run several processes at once, with each tab actually being a separate instance/process of the same executable. In some cases, complicated applications may have multiple processes; for example, Visual Studio runs a separate process when it compiles code from when it displays the IDE. However, most often, a given application is running from a single process; for example, no matter how many microsoft word windows you have open, only a single instance of winword.exe is running. A service is a process which runs in the background and does not interact with the desktop. In Windows, services almost always run as an instance of the svchost.exe process, the windows service host process; however there are sometimes exceptions to this. Sometimes, processes may run in the background without interacting with the desktop, but without being installed as a service. Many device drivers with enhanced features do this. For example, a touchpad driver will usually have a process which runs when a user logs in and handles the special features of the touchpad, but isn't a service and doesn't show any windows to the user. Sometimes an application may depend on a certain service. Printing from any program requires that the print spooler service be active. Installation packages (.msi installers) require that the windows installer service be running. Antivirus programs usually employ a service so they can continue running even when the user is not logged in. Processes usually exit when an application is closed, however this is not always the case. Some programs, particularly download and backup programs, may continue to run in the background without displaying any windows. Antivirus is also an example of this - in addition to using a service, many antivirus applications run a process silently in the background which only displays an application to the user when action is required.

32 Process Management Activities
Sistem operasi bertanggung jawab untuk aktivitas manajemen proses : Menciptakan dan menghapus proses user dan proses sistem Menghentikan sementara dan meneruskan processes Menyediakan mekanisme untuk process synchronization Menyediakan mekanisme untuk process communication Menyediakan mekanisme untuk penanganan deadlock Deadlock

33 Memory Management Semua data disimpan dalam memory sebelum dan sesudah processing Semua instruksi disimpan dalam memory sebelum dieksekusi Memory management bertugas menentukan isi di dalam memory agar : Mengoptimalkan utilisasi CPU dan memaksimalkan respon komputer terhadap user. Aktivitas yang dilakuka manajemen Memory Melakukan tracking bagian memory mana yang sedang dipakai dan oleh siapa Menentukan instruksi dan data mana yang keluar masuk memory Mengalokasikan dan dealokasi memory space sesuai kebutuhan

34 Storage Management OS provides uniform, logical view of information storage Abstracts physical properties to logical storage unit - file Each medium is controlled by device (i.e., disk drive, tape drive) Varying properties include access speed, capacity, data-transfer rate, access method (sequential or random) File-System management Files usually organized into directories Access control on most systems to determine who can access what OS activities include Creating and deleting files and directories Primitives to manipulate files and dirs Mapping files onto secondary storage Backup files onto stable (non-volatile) storage media

35 Mass-Storage Management
Usually disks used to store data that does not fit in main memory or data that must be kept for a “long” period of time. Proper management is of central importance Entire speed of computer operation hinges on disk subsystem and its algorithms OS activities Free-space management Storage allocation Disk scheduling Some storage need not be fast Tertiary storage includes optical storage, magnetic tape Still must be managed Varies between WORM (write-once, read-many-times) and RW (read-write)

36 I/O Subsystem Salah satu motivasi pemakaian OS adalah menghindarkan user dari interaksi algnsung dengan devais I/O subsystem bertanggung jawab untuk Manajemen memory dari I/O termasuk diantaranya buffering (penyimpanan data dari satu proses sebelum ditransfer ke proses lain), caching (menyimpan sebagian data untuk dalam storage yg lebih cepat demi peningkatan performansi ) seperti pada : memory caching, disk caching, web caching(used in browser), dll spooling (mengurutkan pekerjaan satu dengan yg lain, seperti pada printer, mail ) General device-driver interface Drivers for specific hardware devices

37 Proteksi dan Security Proteksi – mekanisme untuk mengontrol akses proses atau user any mechanism for controlling access of processes or users to resources defined by the OS Security – defense of the system against internal and external attacks Huge range, including denial-of-service, worms, viruses, identity theft, theft of service Systems generally first distinguish among users, to determine who can do what User identities (user IDs, security IDs) include name and associated number, one per user User ID then associated with all files, processes of that user to determine access control Group identifier (group ID) allows set of users to be defined and controls managed, then also associated with each process, file Privilege escalation allows user to change to effective ID with more rights

38 Computing Environments
Traditional computer Blurring over time Office environment PCs connected to a network, terminals attached to mainframe or minicomputers providing batch and timesharing Now portals allowing networked and remote systems access to same resources Home networks Used to be single system, then modems Now firewalled, networked

39 Computing Environments (Cont.)
Client-Server Computing Dumb terminals supplanted by smart PCs Many systems now servers, responding to requests generated by clients Compute-server provides an interface to client to request services (i.e. database) File-server provides interface for clients to store and retrieve files

40 Peer-to-Peer Computing
Another model of distributed system P2P does not distinguish clients and servers Instead all nodes are considered peers May each act as client, server or both Node must join P2P network Registers its service with central lookup service on network, or Broadcast request for service and respond to requests for service via discovery protocol Examples include Napster and Gnutella

41 Web-Based Computing Web has become ubiquitous
PCs most prevalent devices More devices becoming networked to allow web access New category of devices to manage web traffic among similar servers: load balancers Use of operating systems like Windows 95, client-side, have evolved into Linux and Windows XP, which can be clients and servers

42 Latihan Apa yang dimaksud kernel, system program dan aplikasi. Beri contohnya ! Apa yang dimaksud : System proses Aplikasi proses Service

43 3. Apa fungsi uname –r dan uname -v
$uname –r : pae $uname –v : #1 SMP Debian deb7ue Bagaimana kita mengetahui kernel bersifat stabil atau tidak ?

44 4. Apa fungsi DMA dan bagaimana DMA beroperasi
5. Terangkan beberapa terminologi berikut : Batch system Real time system Time sharing system Multi programming system Distributed system

45

46 End of Chapter 1

47

48 6 langkah untuk melakukan instruksi pada sistem komputer
The main purpose of a CPU is to execute instructions. We've already seen some simple examples of instructions, i.e., add and addi. The CPU executes the binary representation of the instructions, i.e., machine code. Since programs can be very large, and since CPUs have limited memory, programs are stored in memory (RAM). However, CPUs do its processing on the CPU. So, the CPU must copy the instruction from memory to the CPU, and once it's in the CPU, it can execute it. The PC is used to determine which instruction is executed, and based on this execution, the PC is updated accordingly to the next instruction to be run. Essentially, a CPU repeatedly fetches instructions and executes them. These are the six steps to executing an instruction. Not every instruction goes through every step. However, we label each step so that you can be aware they exist.

49 2 Decode Instruction and Fetch Operands
In the second step, the bits used for the opcode (and function, for R-type instructions) are used to determine how the instruction should be executed. This is what is meant by "decoding" the instruction. Recall that operands are arguments to the assembly instruction. However, since R-type and I-type instructions both use registers, and those registers are in specific locations of the instruction, we can begin to fetch the values within the registers at the same time we are decoding.

50 3 Perform ALU Operations
The ALU has two 32-bit data inputs. It has a 32-bit output. The purpose of the ALU is to perform a computation on the two 32-bit data inputs, such as adding the two values. There are some control bits on the ALU. These control bits specify what the ALU should do. For example, they may specify an addition, or a subtraction, or a bitwise AND. Where do the input values of the ALU come from? Recall that an instruction stores information about its operands. In particular, it encodes registers as 5-bit UB numbers. These register encodings are sent to the register file as inputs. The register file then outputs the 32-bit values of these registers. These are the sent as inputs to the ALU.

51 4 Memory Access (for load/store)
There are only two kind of instructions that access memory: load and store. load copies a value from memory to a register. store copies a register value to memory. Any other instruction skips this step.

52 5. Store ALU result to register file
At this point, the output of the ALU is written back to the register file. For example, if the instruction was: add $r2, $r3, $r4 then the result of adding the contents of $r3 to the contents of $r4 would be stored back into $r2. The result could also be due to a load from memory. Some instructions don't have results to store. For example, branch and jump instructions do not have any results to store.

53 6 Update PC Finally, we need to update the program counter. Typically, we perform the following update: PC <- PC + 4 Recall that PC holds the current address of the instruction to be executed. To update it means to set the value of this register to the next instruction to be executed. Unless the instruction is a branch or jump, the next instruction to execute is the next instruction in memory. Since each instruction takes up 4 bytes of memory, then the next address in memory is PC + 4, which is the address of the current instruction plus 4. The PC might change to some other address if there is a branch or jump.

54 Ketika interrupt diterima, CPU harus
save the address of the interrupted instruction di register dan program counter disable (or queue) incoming interrupts while processing this one transfer control to the appropriate interrupt service routine this is usually done via an interrupt vector (table of addresses for interrupt service routines), stored in first ~100 memory locations after processing the interrupt, enable incoming interrupts restore interrupted instruction & resume processing

55

56 Interrupt Vector Table

57 Interrupt controller

58 Computer Startup BOOTLOADER
BIOS : bertugas menyimpan informasi ttg hardware komputer Suatu program kecil yang terletak di chip motherboard berguna untuk mengatur dan mengontrol hardware komputer sebelum sistem operasi diload. BOOTLOADER Berada di BIOS Bootloader adalah aplikasi pertama yang dijalankan bios sesaat setelah booting. Bootloader akan meload kernel yang menjalankan sistem operasi. Proses ini disebut juga sebagai bootstrap Setelah meload kernel, boot loader akan mengecek HD, untuk mencari partisi boot Firmware berarti memory tetap ada walaup power off

59 Boot program diload Disimpan di hard disk Melakukan inisialisasi pada semua aspek sistem komputer Setelah itu mulai melakukan loading terhadap kernel sistem operasi dan mulai beroperasi


Download ppt "Bab 1: Pendahuluan."

Presentasi serupa


Iklan oleh Google