Presentation is loading. Please wait.

Presentation is loading. Please wait.

인천대학교 컴퓨터공학과 성미영 1.4.1 Chapter 1.4 서론 ( 핵심 )  1.1 OS 정의  1.2 컴퓨터 시스템 구조 (Architecture)  1.3 컴퓨터 시스템 동작 (Operations)  1.4 OS 핵심 프로세스 관리 (Process Management)

Similar presentations


Presentation on theme: "인천대학교 컴퓨터공학과 성미영 1.4.1 Chapter 1.4 서론 ( 핵심 )  1.1 OS 정의  1.2 컴퓨터 시스템 구조 (Architecture)  1.3 컴퓨터 시스템 동작 (Operations)  1.4 OS 핵심 프로세스 관리 (Process Management)"— Presentation transcript:

1 인천대학교 컴퓨터공학과 성미영 1.4.1 Chapter 1.4 서론 ( 핵심 )  1.1 OS 정의  1.2 컴퓨터 시스템 구조 (Architecture)  1.3 컴퓨터 시스템 동작 (Operations)  1.4 OS 핵심 프로세스 관리 (Process Management) 메모리 관리 (Memory Management) 저장장치 관리 (Storage Management) 보호와 보안 (Protection and Security)  1.5 컴퓨팅 환경

2 인천대학교 컴퓨터공학과 성미영 1.4.2 프로세스 관리 (Process Management)  Process(active entity ) 는 실행 중인 Program(passive entity): 작업의 단위  Process 는 작업 수행 위해 자원을 필요로 함 : CPU, memory, I/O, files, data  Process 는 종료되면 재사용 가능한 자원을 반환  Single-threaded process 는 실행할 다음 명령 (instruction) 의 위치를 가리키는 program counter(PC) 를 한 개 가짐  Multi-threaded process 는 thread 마다 하나의 program counter(PC) 가짐  일반적으로 시스템에는 하나 또는 다수의 CPU 상에서 다수의 process 들 (user processes, OS processes) 이 동시에 실행됨 CPU 다중화 (multiplexing) 로 process/thread 동시성 (concurrency) 유지  OS 의 프로세스 관리 활동 사용자 프로세스와 시스템 프로세스의 생성과 삭제 프로세스의 일시 중지와 재수행 프로세스 동기화를 위한 기법 제공 프로세스 통신을 위한 기법 제공 교착상태 처리를 위한 기법 제공 운영체제

3 인천대학교 컴퓨터공학과 성미영 1.4.3 메모리 관리 (Memory Management)  모든 data 는 processing 되기 전후에 memory 에 존재해야 함 존 폰 노이만 (Jon Von Neumann) 프로그램 내장 (stored program) 방식  Memory 에 있는 모든 instructions 들은 순서대로 실행됨  메모리 관리는 메모리에 있어야 할 것을 결정하는 작업임 CPU 활용과 사용자 응답을 최적화 할 수 있도록  OS 의 메모리 관리 활동 메모리의 어느 부분이 현재 사용되고 있으며 누구에 의해 사용되고 있는지를 추적 어떤 프로세스 ( 또는 그 일부 ) 들을 메모리에 적재하고 제거할 것인가를 결정 필요에 따라 메모리 공간을 할당 (allocating) 하고 회수 (deallocating)

4 인천대학교 컴퓨터공학과 성미영 1.4.4 파일 시스템 관리 (File System Management)  OS 는 저장된 정보에 대해 일관성 있고 논리적인 관점을 제공 저장장치의 물리적 특성을 논리적인 저장단위로 추상화 - file 각 매체 (i.e., magnetic disk, optical disk) 는 전용 장치 드라이브 (i.e., disk drive, tape drive) 에 의해 제어됨  속성 : 접근속도 (access speed), 용량 (capacity), 전송률 (data- transfer rate), 접근방식 (access method; sequential or random)  OS 의 파일 시스템 관리 파일은 통상 디렉토리로 구성 다수 사용자가 파일에 접근할 때는 누구에 의해, 어떤 방법으로 접근될 수 있는지의 제어가 바람직 파일 관리 활동  파일과 디렉토리 생성 및 제거  파일과 디렉토리 조작을 위한 프리미티브 제공  파일을 보조 저장장치로 사상  안전한 (non-volatile) 저장장치에 백업

5 인천대학교 컴퓨터공학과 성미영 1.4.5 대용량 저장장치 관리 (Storage Management)  Disk 는 메모리에 담을 수 없는 data 를 영구적으로 저장  Disk subsystem 과 관련 algorithm 들이 시스템 전체의 속도에 영향을 줌  OS 의 대용량 저장장치 관리 활동 자유공간 (free-space) 관리 저장장치 할당 디스크 스케줄링  3 차 저장장치 (tertiary storage) optical storage(CD, DVD), magnetic tape WORM (write-once, read-many-times), RW (read-write) 형식 등 다양 백업용, 시스템 성능에 영향을 주지 않으나 여전히 OS 의 관리 필요 (mount, umount, allocation, deallocation, etc.)

6 인천대학교 컴퓨터공학과 성미영 1.4.6 운영체제 캐싱 (Caching)  컴퓨터 시스템의 어러 계층에서 수행되는 중요 개념 ( 하드웨어, OS, 소프트웨어 )  사용 가능성이 많은 자료를 느린 저장장치로부터 빠른 임시 저장장소 (cache) 로 복사 ( 예 ) index register(a high-speedcache for main memory) ( 예 ) main memory(a last cache for secondary storage)  빠른 저장장소 (cache) 에 정보가 존재하는지 검사 있으면, 즉시 cache(fast) 에서 정보 사용 없으면, memory access 하여 cache(fast) 로 정보 복사 후 사용  cache 는 캐시해오는 저장장소보다 크기가 작음 캐시 관리는 중요한 설계 문제 캐시 사이즈와 교체 정책 (replacement policy) 이 중요  응집성과 일관성 (Coherency and Consistency) multitasking: variable copy 들의 coherency 문제 multiprocessor: local cache 들의 coherency 문제 distributed system 에서의 coherency 문제 : file copy 들 + local cache 들의 coherency 문제

7 인천대학교 컴퓨터공학과 성미영 1.4.7 저장장치 계층 ( Storage-Device Hierarchy) 운영체제 SSD: Solid State Disk ( 순수 전자식, non-volatile flash memory) Hard Disk ( 기계식 + 전자기식, non-volatile) 속도 (speed) 비용 (cost) 휘발성 (volatility) DRAM : Dynamic Random Access Memory ( 순수 전자식, volatile)

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

9 인천대학교 컴퓨터공학과 성미영 1.4.9 운영체제 Integer A 의 Disk 에서 Register 로의 이동 A=5 (process1) A++ (process2) A--  Multitasking 환경에서는 process 들이 가장 최신의 데이터를 사용할 수 있게 해야 함  데이터의 여러 복사본이 실행 중인 여러 task(process) 의 register 에 존재할 수 있음

10 인천대학교 컴퓨터공학과 성미영 1.4.10 운영체제 Integer A 의 Disk 에서 Register 로의 이동  Multiprocessor 환경에서는 CPU 가 최신의 cache 데이터를 사용할 수 있도록 캐시 일관성 (cache coherency) 을 제공해야 함 데이터의 여러 복사본이 여러 processor 의 local cache 에 존재할 수 있음 A=5 (process1) A++ (process2) A-- A=5 (process1) A++ (process2) A--

11 인천대학교 컴퓨터공학과 성미영 1.4.11 운영체제 Integer A 의 Disk 에서 Register 로의 이동  Distributed 환경에서는 일관성 (coherency) 문제가 더욱 더 복잡해짐 (17 장 참조 ) 파일의 복사본이 여러 컴퓨터에 존재할 수 있음 데이터의 여러 복사본이 각 컴퓨터의 local cache 에도 존재할 수 있음 바로 쓰기 (write-through), 나중에 쓰기 (write-back,=delayed-write) 등 cache update 정책 client-initiated, server-initiated 등 캐시 유효성 검증 (cache validity) 방법들 A=5 (process1) A++ (process2) A-- A=5 (process1) A++ (process2) A-- A=5 (process1) A++ (process2) A-- A=5

12 인천대학교 컴퓨터공학과 성미영 1.4.12 입출력 시스템 (I/O Systems)  OS 의 목적 중 하나는 사용자로부터 특정 하드웨어 장치의 특성을 숨기는 것  I/O subsystem 구성 buffering( 전송되는 데이터를 일시적으로 저장 ), caching( 성능을 위해 데이터의 일부를 빠른 기억장치에 저장 ), spooling( 한 작업의 출력을 다른 작업의 입력과 중복 ) 을 포함한 메모리 관리 구성 요소 일반적인 장치 드라이버 인터페이스 특정 하드웨어 장치들을 위한 드라이버  그림 (I/O 수행을 위한 시스템 호출의 사용 ) 참조

13 인천대학교 컴퓨터공학과 성미영 1.4.13 I/O 수행을 위한 시스템 호출의 사용 운영체제

14 인천대학교 컴퓨터공학과 성미영 1.4.14 보호와 보안 (Protection and Security)  Protection – 컴퓨터 시스템의 시스템 자원 (resource) 에 대해 프로세스 또는 사용자의 접근을 제어하는 기법  Security – 컴퓨터 시스템의 시스템 접근 (access) 에 대한 내부공격 ( 부적절한 접근 ) 또는 외부공격 ( 인증정보의 도난 ) 을 방어 ( 예 ) 서비스 거부 (denial-of-service), 웜 (worms), 바이러스 (viruses), 식별자 도용 (identity theft), 서비스 도용 (theft of service)  시스템은 우선 사용자를 식별하고 나서, 누가 무슨 일을 할 수 있는지 결정 사용자 식별자 (user IDs, security IDs) 는 이름과 연관된 번호를 포함하며 사용자마다 할당 접근제어를 위해 user ID 는 그 사용자의 모든 파일과 프로세스에 연관되어 접근 제어 그룹 식별자 (group ID) 는 사용자 그룹을 정의하며 파일과 프로세스에 연관되어 접근 제어 유효 사용자 식별자 (effective user ID) 를 이용하여 권한 확대 (privilege escalation)

15 인천대학교 컴퓨터공학과 성미영 1.4.15 (9 th new) 커널 자료 구조 (Kernel Data Structures)  커널 기본 자료 구조 : 배열, 리스트, 스택, 큐,  Singly linked list  Doubly linked list  Circular linked list

16 인천대학교 컴퓨터공학과 성미영 1.4.16 (9 th new) 커널 자료 구조 (Kernel Data Structures) Binary search tree left <= right –Search performance is O(n) –Balanced binary search tree is O(log n)

17 인천대학교 컴퓨터공학과 성미영 1.4.17 (9 th new) 커널 자료 구조 (Kernel Data Structures) Hash function can create a hash map Bitmap – string of n binary digits representing the status of n items Linux data structures defined in include files,,


Download ppt "인천대학교 컴퓨터공학과 성미영 1.4.1 Chapter 1.4 서론 ( 핵심 )  1.1 OS 정의  1.2 컴퓨터 시스템 구조 (Architecture)  1.3 컴퓨터 시스템 동작 (Operations)  1.4 OS 핵심 프로세스 관리 (Process Management)"

Similar presentations


Ads by Google