'운영시스템(os)'에 해당되는 글 3건

  1. 2019.03.11 :: 운영시스템(OS) 3회차 공부
  2. 2019.03.11 :: 운영시스템(OS) 2회차 공부
  3. 2019.03.05 :: 운영시스템(OS) 1회차 공부
운영시스템(os) 2019. 3. 11. 16:15

Clustered Systems:컴퓨터와 컴퓨터끼리 연결되어 상호작용을 이룬다.

Like multiprocessor systems, but multiple systems working together 

- Usually sharing storage via a storage-area network (SAN)


- 장애를 견뎌낼 수 있는 고가용성(high-availability) 서비스를 제공 

• Asymmetric clustering has one machine in hot-standby mode

• Symmetric clustering has multiple nodes running applications, monitoring each other


Some clusters are for high-performance computing (HPC) 

• Applications must be written to use parallelization


- Some have distributed lock manager (DLM) to avoid conflicting operations




멀티프로그래밍/ 멀티태스킹/ 멀티프로세싱/ 멀티스레딩

Single Core

CPU안에서 기초적인 연산을 처리하고 담당하는 부분 


Multi Core 

하나의 CPU안에 여러 개의 코어를 구현해 놓은 아키텍처


Program 

메모리에 존재하는 코드뭉치로 실행상태가 아닌 실행하기 전에 저장된코드, 게임,도구(Word, Excel 등등) 등 


Process 

메모리에 존재하는 프로그램이 컴퓨터가 실행해서 CPU가 처리할 수 있게 메인 메모리에 load


Thread 

프로세스안에 있는 작은실행 단위로 프로세스와 Data, Code 영역은 공유하고 스레드 각자의 스택과 레지스터 보유

멀티프로그래밍 
초창기 싱글코어 싱글스레드 컴퓨터에서는 프로그램이 메모리에 하나만 올라가고 해당하는 프로그램만 CPU가 처리, 이런 과정에서 프로그램이 파일I/O을 하게 되면 중간에 idle(정지)상태가 되는 데 이때 다른 프로세스의 일부를 실행하는의미 

멀티프로세싱 
하나의 컴퓨터에 여러 개의 CPU를 장착하고(CPU속에 멀티코어도 가능) 하나 이상의 프로세스들을 동시에 처리, 더 넓은 범위로 해석하면 하나 또는그 이상의 프로세스를 여러 장치에서 병렬로 처리 하는 의미 

멀티태스킹 
테스크란 OS에서 처리하는 작업 단위를 의미하는데 그 여러 작업단위가 빠르게 처리되어 동시에 처리되는 것처럼 보이는 것을 의미하며 Concurrent라는 특징을 가짐, 여러 작업단위란 처리 해야하는 여러 프로세스들의 명령어들을 분할(쪼갠 상태)혹은 전체로 간주해도 됨. 
task: OS에서의 실행단위

멀티스레딩 
프로세스 내에서 하나의 스레드가 아닌 여러 개의 스레드를 형성하여 명령어들을 처리


Operating System Structure
Multiprogramming-OS의 효율성 관점에서 중요한 Point
- 단일사용자는 CPU 및 I / O 장치를 항상 사용상태로 유지 못함 
- 멀티프로그래밍은 작업(code, data)을 구성하여 CPU가 항상 실행할 작업을 갖도록 유지 가능 
- 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): CPU가 작업을 너무 자주 전환하여 사용자가 실행되는 동안 각 작업과 상호 작용하여 interactive  컴퓨팅을 생성하는 논리적 확장
- 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


Memory Layout for Multiprogrammed System
Executing several program(task, process) in one CPU- multiprogramming



Operating-System Operations

1. 하드웨어에 의한 interrupt driven 시스템 프로그램 

2. dual-mode and multi-mode 존재 

3. Dual-mode; 다른 시스템 구성요소와 OS 자체 protect 가능 

  - User mode and kernel mode(monitor, supervisor, system, privileged mode) 

  - User mode : State of running with application program of user 

  - Kernel mode : State that OS hold the system and resource management 

  - Transition from User to Kernel Mode



Process Management
o A process -a program in execution, a unit of work within the system. 
  - Program is a passive entity, process is an active entity.
o Process needs resources to accomplish its task § CPU, memory, I/O, files 
  - Initialization data
o Typically system has many processes, some user, some operating system running concurrently on one or more CPUs 
  - Concurrency by multiplexing the CPUs among the processes / threads


Process Management Activities
운영체제의 프로세스관리와 관련한 기능;
- Scheduling processes and threads on the CPUs 

- Creating and deleting both user and system processes 

- Suspending and resuming processes 

- Providing mechanisms for process synchronization 

- Providing mechanisms for process communication 

- Providing mechanisms for deadlock handling


Memory Management
- All data in memory before and after processing

- All instructions in memory in order to execute

- 메모리관리는 메모리에 있는 것이 언제, 무엇인지 결정 
§ CPU 사용률및사용자에대한컴퓨터응답최적화

- Memory management activities 
§ 현재 사용중인 메모리 부분과 누구에 의해 사용되었는지 추적 
§ 어떤 프로세스(또는그부분)와 데이터가 메모리로 들어오고 나가는지 결정 
§ 필요에 따라 메모리 공간 할당 및 할당 취소


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 directories 
  • Mapping files onto secondary storage 
  • Backup files onto stable (non-volatile) storage media



Mass-Storage Management
일반적으로 주 메모리에 적합하지 않은 데이터와 "장기간" 보관해야 하는 데이터 저장을 위한 사용하는 디스크

컴퓨터 운영의 전체 속도는 디스크 하위시스템과 알고리즘에 의존

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 –by OS or applications 
  § Varies between WORM (write-once, read-many-times) and RW (read-write)


Migration of Integer A from Disk to Register

멀티태스킹 환경은 스토리지 계층에 저장되는 위치와 상관없이 가장 최근의 값을 사용


다중프로세서 환경은 모든 CPU가 캐시에 최신값을 갖도록 하드웨어에서 캐시일관성(cache coherency)을제공


 Distributed environment situation even more complex 

§ Several copies of a datum can exist 

§ Various solutions covered in Chapter 17



'운영시스템(os)' 카테고리의 다른 글

운영시스템(OS) 3회차 공부  (0) 2019.03.11
운영시스템(OS) 2회차 공부  (0) 2019.03.11
운영시스템(OS) 1회차 공부  (0) 2019.03.05
posted by 마스터박 MasterPark

댓글을 달아 주세요

운영시스템(os) 2019. 3. 11. 16:15

운영시스템 2회차 공부


Interrupt Process


프로세스들 사이의 요청, 프린터기에게 인쇄를 요청하는 것(명령어의 전달)


Process: 실제로 일을 하는 것


프로세서가 일을 하고 있음 -> 요청이 들어옴 -> 인터럽트 발생 작업을 중지 -> 작업 후 원래 하던 일로 돌아옴



CPU가 인터럽트가 발생했을 때

1. 실행중인 작업을 중단하고 즉시 실행을 고정 위치로 전송. 

2. 고정된 위치는 일반적으로 인터럽트에 대한 서비스 루틴이 있는 시작 주소를 포함. 

3. 인터럽트 서비스 루틴이 실행. 완료시, 

4. CPU는 인터럽트 계산을 재개



Storage Structure

프로그램이 일을 하기 위해서는 메모리에 올라와야 한다. (Load, 메인 메모리)

General purpose computers run most of programs from rewriteable memory 

- Called Main Memory 

- RAM, Random Access Memory 

- Implemented by Direct Random Access Memory(DRAM)



Main memory : CPU가 직접 액세스할 수 있는 대용량 저장매체 

-Random access

-Typically volatile(속성은 휘발성의 성질이다. 


Secondary storage : 대규모 비휘발성 저장 용량을 제공하는 메인메모리의 확장 


Magnetic disks : 경질 금속 또는 유리 플래터는 자기 기록 물질로 덮여 있다.

-Disk surface is logically divided into tracks, which are subdivided into sectors 

-디스크 컨트롤러(disk controller)는 디바이스와 컴퓨터 간의 논리적 상호 작용을 결정 


Solid-state disks : faster than magnetic disks, volatile

ssd 속도가 빠르다. 기술이 진보되었다.



스토리지 계층 Storage systems organized in hierarchy

결정 요소 4가지

-speed

-cost

-Volatility

-size

높을수록 휘발성이 강하고, access 시간이 빠르고, 효율적이며 가격이 비싸진다.



Caching(캐싱): 컴퓨터의 여러 수준에서 수행되는 중요한 원칙 혹은 기법(in hardware, operating system, software)

-정보를 보다 빠른 스토리지 시스템에 복사
-사용중인 정보가 느린 저장소에서 빠른 저장소로 임시 복사

-메인메모리는 second storage를 위한 캐시로 간주

 데이터나 정보를 저장장치에 저장하는 중간단계
Faster storage (cache) checked first to determine if information is there
저장하려는 곳에 저장하려는 정보가 있는지 먼저 확인한다.
Cache smaller than storage being cached 


Device Driver for each device controller to manage I/O 
- 주변 장치 작동 관리
- 컨트롤러와 커널간의 통일된 인터페이스 제공
ex) 각 기계에 맞는 컨트롤러이다. 자동차 운전자와 비행기 운전자는 다르다.
 - 키보드 드라이버, 프린터 드라이버, 스캐너 드라이버 모두 따로 존재한다.

OS는 각 디바이스별로 필요한 디바이스를 자동으로 설치하게 해준다. - easy of use 



Hard Disk is what kind of device ?

컴퓨터의 입장에서는 하드디스크의 정보를 읽어오고 출력을 기록한다.(입출력장치)

저장을 하는 저장장치도 될 수 있다.



How a Modern Computer Works?

컴퓨터 시스템에서의 모든 구성 요소의 상호작용


ex) USB를 꼳으면 이벤트가 발생하며 인터럽트 발생, USB에 맞는 드라이버가 실행된다.



Computer-System Architecture

분류

1) Single processor system 

2) Multi processor system 

cpu가 2개 이상의 코어를 가지는 경우

3) Cluster system


Most systems use a single general-purpose processor 
- PDAs(personal digital assistants) through mainframes 
- Most systems have special-purpose processors as well


Multiprocessors systems growing in use and importance 

- Also known as parallel systems, tightly-coupled systems 


Three advantages

1. Increased throughput

 – By increasing NO. of processor, expect to get more work done in less time 

 – Speed-up ratio with N processors is not N, less than N

 – log p model 


2. Economy of scale

 – Cost less than equivalent multiple single processor system

 – Because of sharing peripherals, mass storage, and power supplies 


3. Increased reliability 

– Functions can be distributed properly among several processors 

 ->하나의 프로세서가 고장나더라도 시스템이 멈추지 않고 속도가 느려짐



Multiprocessor

-tightly-coupled system

(추가필요)

-loosely-coupled system

(추가필요)



Multiprocessor has two types:

1. Asymmetric Multiprocessing 

• Each processor is assigned a specific task

• Boss processor controls the system; (하나의 프로세스가 다른 프로세스를 control)

• Other processor execute the boss of instructions or predefined task 


2. Symmetric Multiprocessing(대칭적인 프로세싱, 포지션별로 모두 같이 일을 한다)

• Use the most common system 

• Each processor performs all tasks within the OS



A Dual-Core Design(과거에는 듀얼시 하나는 그래픽연산, 나머지 한개가 나머지 연산을 한다.)

- 컴퓨터 성능 향상을 위하여 CPU 추가


- CPU에 내장메모리 컨트롤러가 있는 경우 

->CPU를 추가하면 시스템에서 처리할 수 있는 메모리의 양을 늘릴 수 있음 


- 두 가지 memory access models 

• UMA(Uniform memory access) : access to any RAM from any CPU takes the same amount time 

• Non-UMA : Some parts of memory may take longer to access than other parts, creating a performance penalty. Operating systems can minimize the NUMA 


-It is multi-chip and multicore

cpu내 동일한 칩 내에 2개의 코어가 들어가 있는 것 : 듀얼코어


단일 칩에 여러 컴퓨팅 코어를 포함하는 이유는?? -> 

1. 하나의 칩안에서 커뮤니케이션 정보 교환이 훨씬 효율적이다.

(cpu 2개의 정보교환보다 cpu 1개 내의 2개 코어의 정보교환이 더 효율적이다.) effeciency communication

2. 비용이 더 저렴하다. (전력소비가 더 적다. 파워를 더 낮은 걸 사용할수 있다)




Clustered Systems

Like multiprocessor systems, but multiple systems working together 

- Usually sharing storage via a storage-area network (SAN)


- 장애를 견뎌낼 수 있는 고가용성(high-availability) 서비스를 제공 

Asymmetric clustering has one machine in hot-standby mode

Symmetric clustering has multiple nodes running applications, monitoring each other


Some clusters are for high-performance computing (HPC) 

• Applications must be written to use parallelization


- Some have distributed lock manager (DLM) to avoid conflicting operations


'운영시스템(os)' 카테고리의 다른 글

운영시스템(OS) 3회차 공부  (0) 2019.03.11
운영시스템(OS) 2회차 공부  (0) 2019.03.11
운영시스템(OS) 1회차 공부  (0) 2019.03.05
posted by 마스터박 MasterPark

댓글을 달아 주세요

운영시스템(os) 2019. 3. 5. 16:14

운영시스템 (Operating System)의 사전적 의미


사용자 컴퓨터와 컴퓨터 하드웨어 사이에 작동하는 프로그램

사용자와 컴퓨터 하드웨어 사이의 인터페이스



Goals 

1. Execute user programs and make solving user problems easier.

유저 프로그램을 사용해서 문제를 쉽게 풀게 한다.


2. Make the computer system convenient to use.

컴퓨터 시스템을 편리하게 사용하게 한다.


3. Use the computer hardware in an efficient manner.

컴퓨터 하드웨어를 효율적으로 사용할 수 있다.



Computer system의 4가지 구성요소


- Hardware (기본 컴퓨팅 리소스 제공) 

• CPU, memory, I/O devices 


- Operating system 

• Controls and coordinates use of hardware among various applications and users 


- Application programs (사용자들의 컴퓨팅 문제 해결을 위해 사용되는 시스템 리소스들)

• Word processors, compilers, web browsers, database systems, video games 


- Users 

• People, machines, other computers



계층적 4가지 구성요소간의 관계


user


system and application programs


     operating system


        computer hardware



운영체제의 역할 2가지

1. User View

2. System View



1. User View 주목적: ease of use

- 사용되는 인터페이스 뷰 


- PC 사용자는 편리성(convenience) 추구, ease of use 

Resource utilization은 관심이 없음


- 메인프레임, 미니컴퓨터 같은 공유되는 컴퓨터는 모든 사용자가 만족 

• maximize resource utilization를 우선해야 함 


- 워크스테이션과 같은 전용 시스템 사용자는 전용 리소스를 사용하지만 서버에서 공유 리소스를 자주 사용

 

- Handheld computers; 리소스 사양이낮아, usability and battery life 최적화에중점 


- 일부 컴퓨터에는 임베디드 컴퓨터 및 자동차에 내장된 컴퓨터와 같이 거의 또는 전혀 사용자 인터페이스無



User Interface를 통해 밑에 기능들을 사용할 수 있다.

• Written Program 

• Running Program

• Use of I/O Device 

• Operation File System 

• Security and Protection

• Communication 

• Account 

• Detection Error 

• Response



2. System View 주목적: maximizing system performance


- H/W와 가장 밀접하게 관련된 프로그램 


- Maximizing System Performance


- OS is a resource allocator 

•  모든 리소스를 관리(CPU time, memory space, storage file and I/O device) 

•  효율적이고 공정한 자원사용에 대한 충돌하는 요청을 결정


- OS is a control program 

•  컴퓨터의 오류 및 부적절한 사용을 방지하기 위해 사용자 프로그램의 실행을 제어



운영체제의 주요 기능

Process Management, Information Management, Device Management, Memory Management




운영체제 정의

• No universally accepted definition

• A collection of software that manages computer hardware resources and provides common services for computer programs.



bootstrap program is loaded at power-up or reboot

• 일반적으로 firmware로 알려져있고 ROM or EPROM에 저장

• Initializes all aspects of system.

• Loads operating system kernel and starts execution.



Computer-system operation

• 하나 이상의 CPU, 장치 컨트롤러가 공유 메모리에 엑세스를 제공하는 common bus를 통해 연결.

• 메모리 사이클을 위해 경쟁하는 CPU와 디바이스의 동시 실행.



• I/O devices and the CPU can execute concurrently.

concurrently: 동시에 돌아간다. parallel - 물리적으로 동시에 돌아간다.


• Each device controller is in charge of a particular device type.

각각의 디바이스 컨트롤러는 특별한 타입을 가진다.


• Each device controller has a local buffer.


• CPU moves data from/to main memory to/from local buffers.


• I/O is from the device to local buffer of controller.



인터럽트(Interrupt) 컴퓨터가 진행이 안될때 전원을 끄거나 프린터가 안될때 중지하는 것이 인터럽트의 종류

장치 컨트롤러는 인터럽트(interrupt)를 발생시킴으로써 CPU에 작업이 완료되었음을 알린다.

Interrupt = Communication Method between Devices and OS

즉각적인 주의가 필요한 이벤트를 나타내는 하드웨어 또는 소프트웨어에 의해 방출된 프로세서로의 신호

프로세스가 명령을 실행하는 순서를 변경하는 이벤트.


• 인터럽트는 일반적으로 모든 서비스 루틴의 주소를 포함하는 인터럽트 벡터

(interrupt vector)를 통해 인터럽트 서비스 루틴으로 제어를 전송


• 인터럽트 아키텍처는 인터럽트 된 명령어의 주소를 저장


• Trap or Exception

a software-generated interrupt caused either by an error or a user request.


• OS: Interrupt driven.



Interrupt Types. (인터럽트 종류)

1. Program interrupt 

• Caused by exception on running program; Overflow, Division by zero 


2. Timer interrupt 

• Caused by timer of computer system 


3. I/O interrupt 

• Caused by I/O devices 


4. H/W failure interrupt 

• Caused by the failure of H/W


5. Reset interrupt 

• By reset switch, system initialize 


6. System call interrupt 

• Request to OS with functions


'운영시스템(os)' 카테고리의 다른 글

운영시스템(OS) 3회차 공부  (0) 2019.03.11
운영시스템(OS) 2회차 공부  (0) 2019.03.11
운영시스템(OS) 1회차 공부  (0) 2019.03.05
posted by 마스터박 MasterPark

댓글을 달아 주세요