Operating System Operating Systems are an http www

  • Slides: 77
Download presentation
운영체제 (Operating System) Operating Systems are an ( _____ ) http: //www. fungameboom. kr/play-1808

운영체제 (Operating System) Operating Systems are an ( _____ ) http: //www. fungameboom. kr/play-1808 part of any computer system !!! 인천대학교 컴퓨터공학과 성미영 mailto: mysung@incheon. ac. kr http: //marvel. incheon. ac. kr/~mysung 운영체제 1. 1 인천대학교 컴퓨터공학과 성미영

교재 • • 운영체제 교재 – (한국어판) Operating System Concepts, 7 th edition, 조유근,

교재 • • 운영체제 교재 – (한국어판) Operating System Concepts, 7 th edition, 조유근, 고건, 김영찬 공역, Silberschatz, Galvin, Gagne 원저, 홍릉과학출판사, 2008. – (8 th ed. ) Operation System Concepts, 8 th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, John Wiley & Sons, Inc. , ISBN 0 -470 -12872 -0, 2009. T http: //codex. cs. yale. edu/avi/os-book/ – (8 th ed. ) Operating System Concepts with Java, 8 th Edition , Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, John Wiley & Sons, Inc. , ISBN 978 -0 -470 -50949 -4, 2010. 교재 series – (7 th ed. ) Operating System Concepts, 7 th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Wiley, 2004. – (6 th ed. ) Operating System Concepts, 6 th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Wiley, 2002. – (5 th ed. ) Operating System Concepts, 5 th edition, Abraham Siberschatz, Peter Baer Galvin, Addison-Wesley, 1997. – (4 th ed. ) Operating System Concepts, 4 th edition, Abraham Siberschatz, Peter Baer Galvin, Addison-Wesley, 1993. – (3 rd ed. ) Operating System Concepts, 3 rd edition, Abraham Silberschatz, James L. Peterson, Peter B. Galvin, Addison-Wesley, 1991. – (2 nd ed. ) Operating System Concepts, 2 nd edition, James L. Peterson and Abraham Silberschatz, Addison-Wesley, 1985. – (1 st ed. ) Operating System Concepts, 1 st edition, James L. Peterson and Abraham Silberschatz, Addison-Wesley, 1983. 1. 3 인천대학교 컴퓨터공학과 성미영

참고서적 • • UNIX for Programmers and Users (프로그래머와 사용자를 위한 UNIX 완성), Glass

참고서적 • • UNIX for Programmers and Users (프로그래머와 사용자를 위한 UNIX 완성), Glass and Ables 저, 조경산 역, 이한출판사, 2001. – Graham Glass and King Ables, UNIX for Programmers and Users, 2 nd Ed. , Prentice Hall PTR, 1999. 리눅스 시스템 & 커널 기초: 커널 분석에서 코드 수정까지, 김성영, 오병우, 이이섭, 장춘서, 조 현규 공저, 한빛미디어, 2007. Understanding the Linux Kernel, 3 rd Edition, Daniel P. Bovet, Marco Cesati, O’reilly, 2005. 기타 유닉스/리눅스 참고서적 – – 판사, 1999 – The X Window System Programming and Application with Xt, 2 nd Edition. , Douglas A. Young, Prentice Hall PTR, 1994 T (한국어판) The X Window System Programming and Application with Xt 제 2판, Young 저, 박승규 외 4인 역, 대영 – Unix System Administration Handbook, Third Edition, Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein, Prentice – – – 운영체제 Unix Network Programming, 3 rd Edition, W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Addison-Wesley, 2004. T (한국어 판) Unix Network Programming, Stevens 저, 김치하, 이재용 역, 교보문고, 2005. Unix System Programming, 2 nd Edition, K. Havilland, D. Gray, B. Salama, Addison-Wesley, 1998(99) T (한국어판) Unix 시스템 프로그래밍, 2 nd Edition, Keith Haviland, Dina Gray, Ben Salama 저, 조유근 역, 홍릉과학출 사, 1996 Hall PTR, 2000. T (한국어판), Unix System administration Handbook, 2 nd Edition, Nemeth, Snyder, Seebass, Hein 저, 최재영, 김명 호, 김영배 역, 홍릉과학출판사, 1998. Essential System Administration, Third Edition , AEleen Frisch, O'Reilly, 2002. T 시스템 관리의 핵심, 2 nd Edition, AEleen Frusch 저, 홍상욱 역, 한빛미디어, 2003. The Design of the Unix Operating System, Maurice J. Bach, Prentice Hall International, Inc. , 1986 T (번역서) Unix의 내부구조, 조유근 역편, Bach 원저, 홍릉과학출판사, 1997. Linux Kernel Programming, Third Edition, M. Beck, H. Bohme, M. Dziadzka, U. Kunitz, R. Magnus, C. Schroter, D. Verworner, Addison-Wesley 2002. Linux Kernel Development, 2 nd Edition, Robert Love, Novell Press, 2005. T (번역서) 임베디드 개발자를 위한 리눅스 커널 심층 분석, 이상근 역, Robert Love 원저, 홍릉과학출판사, 2004. Linux Administration Handbook, Mark F. Komarinski, Cary Collett, Prentice Hall, 1998. 1. 4 인천대학교 컴퓨터공학과 성미영

수업 내용 (7 th edition) Part 1 Part 2 Part 3 Part 4 Part

수업 내용 (7 th edition) Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Part 8 운영체제 개관 (Overview) 프로세스 관리 (Process Management) 메모리 관리 (Memory Management) 저장 장치 관리 (Storage Management) 보호와 보안 (Protection and Security) 분산 시스템 (Distributed Systems) 전용시스템 (Special-Purpose System) 사례 연구 (Case studies) 1. 5 Chapter 1 서론 (Introduction) Chapter 2 운영체제 구조 (Operating-System Structure) Chapter 3 프로세스 (Process) Chapter 4 스레드 (Thread) Chapter 5 CPU 스케줄링 (CPU Scheduling) Chapter 6 프로세스 동기화 (Process Synchronization) Chapter 7 교착 상태 (Deadlock) Chapter 8 주 메모리 (main Memory) Chapter 9 가상 메모리 (Virtual Memory) Chapter 10 파일 시스템 인터페이스 (File-System Interface) Chapter 11 파일 시스템 구현 (File-System Implementation) Chapter 12 대용량 저장 장치 구조 (Mass-Storage Structure) Chapter 13 입/출력 시스템 (I/O System) Chapter 14 보호 (Protection) Chapter 15 보안 (Security) Chapter 16 분산 시스템 구조 (Distributed System Structure) Chapter 17 분산 파일 시스템 (Distributed File System) Chapter 18 분산 조정 (Distributed Coordination) Chapter 19 실시간 시스템 (Real-Time System) Chapter 20 멀티미디어 시스템 (Multimedia System) Chapter 21 Linux 시스템 (Linux System) Chapter 22 윈도우 XP Chapter 23 영향력 있는 운영체제들 (influential Operating Systems) 인천대학교 컴퓨터공학과 성미영

Chapter 1: 서론 (Introduction) 1. 운영체제가 할 일 (What Operating Systems Do) 2. 컴퓨터

Chapter 1: 서론 (Introduction) 1. 운영체제가 할 일 (What Operating Systems Do) 2. 컴퓨터 시스템 구성 (Computer-System Organization) 3. 컴퓨터 시스템 구조 (Computer-System Architecture) 4. 운영체제 구조 (Operating-System Structure) 5. 운영체제 연산 (Operating-System Operations) 6. 프로세스 관리 (Process Management) 7. 메모리 관리 (Memory Management) 8. 저장장치 관리 (Storage Management) 9. 보호와 보안 (Protection and Security) 10. 분산 시스템 (Distributed Systems) 11. 전용 시스템 (Special-Purpose Systems) 12. 계산 환경 (Computing Environments) 13. 오픈 소스 운영체제 (Open-Source Operating Systems) 1. 6 인천대학교 컴퓨터공학과 성미영

운영체제가 할 일 • OS란 – 사용자의 응용 소프트웨어와 하드웨어와의 interface 역할을 하는 프

운영체제가 할 일 • OS란 – 사용자의 응용 소프트웨어와 하드웨어와의 interface 역할을 하는 프 로그램으로서 컴퓨터 시스템을 효율적으로 사용하는 환경제공 – 하드웨어를 제어하는 소프트웨어(S/W that controls H/W) T S/W 또는 firmware (ROM, PROM, EEPROM, flash memory 안에 내장된 micro code program) 형태 T 내장형 OS(Embedded OS), So. C(System-on-Chip) – (예) MS-DOS, OS/2, Windows/NT, Windows 2003, Windows XP, Windows Vista, Multics, Unix, Linux, Solaris 10, Mach, OS/MVS(Multiple Virtual Storage, IBM), VM/CMS (Virtual Machine / Conversational Monitoring System IBM), Open. VMS(Virtual Memory [operating] System on VAX and Alpha by DEC, Compaq bought DEC, HP bought Compaq, ), Mac OS, . . . 운영체제 1. 7 인천대학교 컴퓨터공학과 성미영

운영체제 환경 • • • 운영체제 Windows systems – Win 32 API (application programming

운영체제 환경 • • • 운영체제 Windows systems – Win 32 API (application programming interface) – Example programs tested on T Windows 2000, Windows XP POSIX (Portable Operating System Interface) – A set of standards implemented primarily for UNIX-based operating systems – POSIX-compliant systems T UNIX T LINUX T Mac OS X – POSIX 1. b: real-time extensions – POSIX 1. c: a thread library (pthread) – Example programs tested on T Debian Linux 2. 4 and 2. 6 systems T MAC OS X T Solaris 9 using gcc 3. 3 Java – Run on any machine supporting JVM (Java virtual machine) – Java programs tested using Java 1. 4 JVM 1. 9 인천대학교 컴퓨터공학과 성미영

컴퓨터 시스템 연산 • • 운영체제 Bootstrap program(부트스트랩: 편상화의 손잡이 가죽): firmware – 초기화

컴퓨터 시스템 연산 • • 운영체제 Bootstrap program(부트스트랩: 편상화의 손잡이 가죽): firmware – 초기화 – load the OS – OS 시작(init process: wait for event) – (예) GRUB(GRand Unified Bootloader), LILO (LInux LOader) Bootstrap 완료 후 event 기다림 Event (interrupt) – H/W generated interrupt (I/O 완료 event) -> signal to the CPU – S/W generated interrupt (trap) -> system call (monitor call) OS는 interrupt-driven 이다 1. 13 인천대학교 컴퓨터공학과 성미영

저장장치 구조 (Storage Structure) • • • 운영체제 기억장치 연산 – Load : main

저장장치 구조 (Storage Structure) • • • 운영체제 기억장치 연산 – Load : main memory-> CPU의 register – Store : CPU -> memory Von – – – Neumann 구조(stored program)의 명령 실행 사이클 fetch : 명령 -> instruction register decode execute: 실행 후 결과를 register에 저장 Main memory : direct-access storage device – ① too small – ② volatile Secondary storage – ① extremely large – ② permanent – Hard disk Tertiary storage – ① slower and lower in cost than secondary storate – ② Backups of disk data – CD, DVD 1. 17 인천대학교 컴퓨터공학과 성미영

저장장치 계층 (Storage-Device Hierarchy) Speed Cost Volatility volatile non-volatile sold state disk: non-volatile flash

저장장치 계층 (Storage-Device Hierarchy) Speed Cost Volatility volatile non-volatile sold state disk: non-volatile flash memory non-volatile hard disk non-volatile 운영체제 1. 20 인천대학교 컴퓨터공학과 성미영

I/O Interrupts 기반 구조 • • 운영체제 I/O 시작 – CPU가 device controller의 register들을

I/O Interrupts 기반 구조 • • 운영체제 I/O 시작 – CPU가 device controller의 register들을 set – device controller 는 register 내용 검사하여 동작 개시 I/O 끝 – device controller가 CPU에 interrupt 종류 – 동기적(synchronous) I/O T user program이 I/O 완료를 기다림 T interrupt한 장치 쉽게 인식 – 비동기적(asynchronous) I/O T I/O완료를 기다리지 않고 user program으로 T I/O 완료를 기다리려면 wait 명령 또는 wait loop으로 다음 interrupt 까지 기다리게 할 수 있음 T simultaneous I/O 가능 동시에 many I/O requests의 처리 위해 – device-status table(장치 상태 테이블) 필요 (그림 2. 4) T type, address, state T list or chain(=linked list) 형태로 request등록(request list) – I/O interrupt -> OS가 device알아냄 -> I/O device table변경 1. 22 인천대학교 컴퓨터공학과 성미영

문자 디바이스 드라이버 소스코드 예 01 #include <linux/module. h> 02 #include <linux/kernel. h> 03

문자 디바이스 드라이버 소스코드 예 01 #include <linux/module. h> 02 #include <linux/kernel. h> 03 #include <asm/uaccess. h> 04 #include <linux/slab. h> 05 #include <linux/fs. h> 06 07 #define MYDEV_NAME "mydev" 08 #define MYDEV_MAJOR 100 09 #define buf_size 256 10 11 unsigned char *buf; 12 13 int dev_open (struct inode *inode, struct file *filp) 14 { 15 printk( "KERNEL_ALERT: file opened n"); 16 return 0; 17 } 18 19 ssize_t dev_read(struct file *filp, char *buffer, size_t count, loff_t *f_pos) { 21 int I; 22 printk("KERNEL_ALERT: called read n"); 23 i = copy_to_user(buffer, buf, count ); 24 return 0; 25 } 26 운영체제 27 28 29 30 31 32 33 { ssize_t dev_write (struct file *filp, const char *buffer, size_t count, loff_t *f_pos) { printk("KERNEL_ALERT: called write n"); copy_from_user(buf, buffer, count); return 0; } int dev_release (struct inode *inode, struct file *filp) 36 printk( "KERNEL_ALERT: file closed n" ); 37 return 0; 38 } 39 40 struct file_operations dev_fops = 41 { 42 read : dev_read, 43 write : dev_write, 44 open : dev_open, 45 release : dev_release, 46 }; 47 48 int init_module(void) 49 { 50 int result; 51 printk( "KERNEL_ALERT: mydev module is loading. . . n" ); 52 result = register_chrdev( MYDEV_MAJOR, MYDEV_NAME, &dev_fops); 1. 28 인천대학교 컴퓨터공학과 성미영

컴퓨터 시스템 구조(Computer System Architecture) 운영체제 • • 단일 CPU 시스템 (Single-CPU Systems) •

컴퓨터 시스템 구조(Computer System Architecture) 운영체제 • • 단일 CPU 시스템 (Single-CPU Systems) • 분산 시스템 (Distributed Systems) – Loosely coupled (네트워크) 다중 CPU 시스템 (Multiple-CPU Systems) – 2 types T 멀티프로세서 시스템 (Multiprocessor Systems) = 병렬 시스템 (Parallel Systems) – Tightly coupled (BUS) – 2개 이상의 다수의 CPU 로 구성된 하나의 시스템 – memory 공유 T 클러스터형 시스템 (Clustered Systems) – Closely linked (고속 네트워크) – 2개 이상의 다수의 독자적 시스템(individual systems)의 연결로 구성 – storage 공유 (예, SAN; storage-area network) – LAN을 통해 긴밀히 연결 (예, LAN or Infini. Band) – 장점 1. 처리율(throughput) 향상 2. 규모의 경제(economy of scale) 3. 신뢰성(reliability) 향상 – 우아한 퇴보(graceful degradation) 또는 결함 허용(fault tolerance) – symmetric. vs. asymmetric 1. 30 인천대학교 컴퓨터공학과 성미영

SMP(Symmetric Multiprocessing) Architecture 1. 32 인천대학교 컴퓨터공학과 성미영

SMP(Symmetric Multiprocessing) Architecture 1. 32 인천대학교 컴퓨터공학과 성미영

A Dual-Core Design one chip 1. 33 인천대학교 컴퓨터공학과 성미영

A Dual-Core Design one chip 1. 33 인천대학교 컴퓨터공학과 성미영

클러스터형 시스템(Clustered System) • • • multiple –CPU system • 병렬 클러스터(parallel cluster): shared

클러스터형 시스템(Clustered System) • • • multiple –CPU system • 병렬 클러스터(parallel cluster): shared storage 상의 데이터에 완전한 동시 접근 – 병렬 데이터베이스: Oracle Parallel Server – 분산 파일 시스템: Sun Microsystems 사의 분산 락 관리자 DLM (distributed lock manager) • • 운영체제 2개 이상의 다수의 독자적 시스템(individual systems)의 연결로 구성 storage 공유 (예, storage-area networks (SANs) LAN을 통해 긴밀히 연결 (예, LAN or Infini. Band) 대칭형(symmetric). vs. 비대칭형(asymmetric) – 비대칭형: 긴급 대기(hot-standby) 모드의 한 컴퓨터가 활동하는 서버들을 감시 – 대칭형: 각자 응용 수행하며 서로 감시, 대칭형 보다 더 효율적 글로벌 클러스터 (global cluster): WAN 상에서 clustering Some clusters are for high-performance computing (HPC) – Applications must be written to use parallelization 1. 34 인천대학교 컴퓨터공학과 성미영

단순 일괄처리 시스템 • CPU idle time 줄이고자 – Off-line processing: 느린 입출력 장치를

단순 일괄처리 시스템 • CPU idle time 줄이고자 – Off-line processing: 느린 입출력 장치를 off-line으로 하고 입출력은 magnetic-tape으로 대치 T 장점 – ① on-line I/O device보다 빠름 – ② multiple reader-to-tape & tape-to-printer T 단점: 한 Job이 실제로 run될 때까지의 준비시간이 길어짐 – Spooling (Simultaneous Peripheral Operation On-Line) T Tape: sequential-access T Disk : random-access – Printer 에 이전 작업 결과 출력하는 동안 – Card reader로부터 다음 작업을 디스크로 읽어 들임 I/O 와 계산을 Overlap 운영체제 1. 36 인천대학교 컴퓨터공학과 성미영

User Mode에서 Kernel Mode로의 전환 Interrupt/fault monitor user set user mode 운영체제 1. 45

User Mode에서 Kernel Mode로의 전환 Interrupt/fault monitor user set user mode 운영체제 1. 45 인천대학교 컴퓨터공학과 성미영

저장장치의 성능 CMOS: complementary metal oxide semiconductor DRAM: dynamic random access memory 운영체제 1.

저장장치의 성능 CMOS: complementary metal oxide semiconductor DRAM: dynamic random access memory 운영체제 1. 52 인천대학교 컴퓨터공학과 성미영

분산 시스템(Distributed Systems) • • • 운영체제 이완결합 (loosely coupled multiprocessor systems) – 각

분산 시스템(Distributed Systems) • • • 운영체제 이완결합 (loosely coupled multiprocessor systems) – 각 processor 는 자신의 local memory를 가짐 – 네트워크 (LAN, WAN, MAN, Blue. Tooth, 802. 11) 통해 교류 Processors(sites, nodes, computers) : micro processors, workstations, minicomputers, large general-purpose computer systems 분산시스템의 효과 – 자원공유 (resource sharing) – 계산속도 증가 (computation speedup): load sharing – 신뢰성 (reliability) – 통신 (data communication): 정보 교환 (예) FTP, e-mail Network Operating System : Solaris 9, Netware – 파일 공유 (file sharing) 지원 – 통신 체계 (communication scheme) 지원 – 독립적으로 실행하며 (acts autonomously) 네트워크로 연결된 컴퓨터와 통신 가 능 Distributed Operating System – 덜 독립적 (less autonomy between computers) – 여러 OS가 협력하여 네트워크를 제어하는 하나의 OS가 있는 것 같은 환상 (illusion) 제공 분산 시스템의 궁극적인 목적 – 분산 시스템이 너트워크에 걸쳐 있는 수 많은 컴퓨터들로 구성되어 있음에도 불 구하고, 사용자는 단일의 통합된 컴퓨팅 시스템이라는 인식을 갖도록 하는 것 1. 56 인천대학교 컴퓨터공학과 성미영

병렬 시스템(Parallel Systems, Multiprocessor Systems) • • 1 CPU -> multiple CPU (multiprocessor systems)

병렬 시스템(Parallel Systems, Multiprocessor Systems) • • 1 CPU -> multiple CPU (multiprocessor systems) • 병렬시스템의 효과 – 처리율 증진 (increase throughput) – 비용 절감 (save money): 자원의 공유(device) – 신뢰성 항상 (increase reliability): graceful degradation T fault tolerant, fail-soft systems • 운영체제 밀결합 (tightly coupled multiprocessor systems) – Bus, Clock, Memory, 주변기기를 공유 – Shared memory 통해 교류 다중처리 (multiprocessing)의 구분 – 대칭적 다중처리 (symmetric multiprocessing; SMP) T 각 Processor가 OS를 가짐 (동등한 관계) T 대부분의 현대 OS 에서 지원 T Sun. OS Version 5 (Solaris 2. x) – 비대칭적 다중처리 (asymmetric multiprocessing) T master processor가 각 processor에게 특정한 일을 시킴 T 매우 큰 시스템에서 지원 T Sun. OS Version 4 (Solaris 1. x) 1. 57 인천대학교 컴퓨터공학과 성미영

병렬 시스템 구조 Completely-connected network Ring network Linear array network 운영체제 Star-connected network 1.

병렬 시스템 구조 Completely-connected network Ring network Linear array network 운영체제 Star-connected network 1. 58 인천대학교 컴퓨터공학과 성미영

Mesh Network 2 -dimensional mesh 운영체제 2 -dimensional wraparound mesh 1. 59 3 -dimensional

Mesh Network 2 -dimensional mesh 운영체제 2 -dimensional wraparound mesh 1. 59 3 -dimensional mesh 인천대학교 컴퓨터공학과 성미영

Tree Network Complete binary tree with message routing Complete binary tree Fat tree network

Tree Network Complete binary tree with message routing Complete binary tree Fat tree network 운영체제 1. 60 인천대학교 컴퓨터공학과 성미영

실시간 시스템 (Real-Time System) • 엄격한 시간제약 하에서 수행되는 시스템 • 특정응용의 제어 장치

실시간 시스템 (Real-Time System) • 엄격한 시간제약 하에서 수행되는 시스템 • 특정응용의 제어 장치 – sensor computer control – (예) automobile-engine fuel-injection, weapon • 종류 Hard real-time system Soft real-time system • Hard real-time system – 특정 작업이 실제시간에 완료되어야 함 – kernel delay (data를 가져와서 처리를 완료하는 데까지 걸리는 지 연시간) 가 특정 한계 이내로 제한됨 – data를 short-term memory나 ROM에 저장 (virtual memory 기법은 hard real-time system에 부적합) – hard real-time기능을 지원하는 범용 computer는 없음 (hard readtime 과 time-sharing은 상극) T (예) industrial control and robotics (제어시스템 또는 로보틱스) 운영체제 1. 63 인천대학교 컴퓨터공학과 성미영

실시간 시스템 • • 운영체제 Soft real-time system – 중요한 실시간 작업은 다른 작업에

실시간 시스템 • • 운영체제 Soft real-time system – 중요한 실시간 작업은 다른 작업에 우선해서 실행 완료 – (예) multimedia, virtual reality, advanced scientific projects T 고급 OS의 기능들이 필요함(예, Unix version의 soft real-time기능) – threads – SMP(symmetric multiprocessing) – real-time scheduling T Real-time scheduling Real-time OS – EDF (Earliest Deadline First) Algorithm: deadline이 가장 빠른 작 업을 먼저 처리 – Monotonic Rate Algorithm: 정해진 우선순위 (주기가 짧은 작업 이 높은 우선순위) 에 따라 처리 CPU scheduling (아래 참고자료 p 257) – EDF (Earliest Deadline First) Algorithm – Rate Monotonic Algorithm Disk scheduling (아래 참고자료 P 282) – EDF disk scheduling – SCAN-EDF 참고자료 : Multimedia: Computing Communication & Applications, Steinmetz and Nahrstedt, Prentice-Hall, 1995. 1. 64 인천대학교 컴퓨터공학과 성미영

오픈 소스 운영체제 (Open-Source Operating Systems) • OS가 바이너리(closed-source)가 아니 소스코드 (source-code) 형태로 제공

오픈 소스 운영체제 (Open-Source Operating Systems) • OS가 바이너리(closed-source)가 아니 소스코드 (source-code) 형태로 제공 • 저작권 보호(copy protection) 나 디지털 저작권 관리(Digital Rights Management; DRM) 운동에 반대하여 시작 • 처음 시작은 Free Software Foundation (FSF), “copyleft” GNU Public License (GPL) • (예) GNU/Linux, BSD UNIX (including core of Mac OS X), Solaris 운영체제 1. 71 Sun 인천대학교 컴퓨터공학과 성미영

개인용 컴퓨터 시스템(Personal-Computer Systems) • H/W cost 절감 PCs – IBM PC Family :

개인용 컴퓨터 시스템(Personal-Computer Systems) • H/W cost 절감 PCs – IBM PC Family : MS-DOS, Windows, OS/2 multitasking system, Windows NT, Windows 2000 – Apple Macintosh : Mac OS -> virtual memory – Power PC • mainframe computer 의 OS개념들이 PC의 OS로 전이됨 • Personal workstation : 큰 PC, Sun, HP/Apple, IBM RS/6000 Kilo = 210 = 1, 024 Mega = 220 = 1, 048, 567 Giga = 230 = 1, 073, 741, 824 Tera = 240 = 1, 099, 511, 627, 776 Peta = 250 = 1, 125, 899, 906, 842, 624 운영체제 1. 72 인천대학교 컴퓨터공학과 성미영