Stay Hungry Stay Foolish

운영체제 12

[OS] 11. 분산 처리 시스템

(1) 개요 데이터 처리장치 및 DB가 지역적으로 분산돼 있으면서 정보교환을 위해 네트워크로 상호 결합된 시스템이다. 분산 노드는 기능을 노드 별로 분담하여 수행하고, 이들이 네트워크로 연결되어 중앙의 대형 컴퓨터보다 많은 일을 효율적으로 처리할 수 있다. 특징 사용자에게 할당될 수 있는 자원은 각 노드에 분산될 수 있고, 이들은 메시지를 주고 받으면서 정보를 교환한다. 노드들은 각기 어느 정도의 자율성(autonomy)을 가진다. 사용자는 특정 자원의 물리적 위치를 몰라도 그 자원을 사용할 수 있어야 한다. 시스템 전체의 정책을 결정하는 통합적인 제어 기능이 있어야 한다. 개발 이유 인터넷이 개발되기 전에 개발된 것으로 오래전에 나왔다. 1. Resource Sharing 서로 다른 기능 및 자원을 가..

운영체제 2023.10.16

[OS] 10. 다중 처리 시스템

(1) 개요 복수 개의 프로세서(CPU)를 두어 동시에 여러 작업을 수행할 수 있도록 구성된 컴퓨터 시스템이다. 단일 시스템 내에 적은 비용과 작은 부피로 다수의 프로세서를 장착하고 이들을 연결시켜 다중 프로세서 시스템을 구축한다. 동시에 프로그램을 수행할 수 있는 프로세서를 2개 이상 두고 각각 그 업무를 분담해 처리 가능하다. 많은 추가 비용 없이도 기존 시스템의 계산 능력이 향상되고, 높은 Availability과 높은 Reliability가 보장되도록 구성되어야 한다. 구조 Loosely-Coupled Tightly-Coupled 각 프로세서들이 독립적으로 운영(각자 OS 유지) 하나의 OS가 시스템 전체 자원을 관리 각 프로세서들이 자신의 메모리 영역을 별도로 가짐 모든 프로세서들이 하나의 공유..

운영체제 2023.10.16

[OS] 09. 정보 보호 및 보안

(1) 보호의 개요 OS 컴퓨터 시스테 보안의 기본적인 제공자 역할을 한다. 메모리 보호, 파일 보호, 접근 제어, 사용자 인증 등을 포함하고 있다. Protection 대상 객체 Memory 공유 및 재사용이 가능한 I/O 장치 공유 가능한 프로그램 및 서브 프로그램 공유 데이터 Protection 컴퓨터시스템에 정의된 자원에 대하여 프로그램, 프로세스 또는 사용자의 접근을 제어하는 기법이다. Security 시스템과 그 시스템의 자료들이 결함 없이 보전된다는 것을 의미하는 일종의 신뢰도이다. 보호의 개념보다 광범위한 주제로 생각될 수 있다. (2) 보호의 영역 컴퓨터 시스템은 하드웨어 객체와 소프트웨어 객체들의 집합으로 OS가 보호해야 할 자원들이다. 하드웨어 객체(자원) : CPU, MEMORY, ..

운영체제 2023.10.16

[OS] 08. 교착상태 (Deadlock)

(1) 개요 컴퓨터 시스템은 한정된 수의 자원(resource)으로 구성된다. ✔ 교착상태 정의 어떤 프로세스가 수행하려고 특정한 자원을 위하여 무한정 기다려도 도저히 해결할 수 없는 상태이다. 하나 또는 그 이상의 프로세스가 발생되지 않는 어떤 특정한 사건(event)을 기다리고 있는 상태이다. 교착상태는 컴퓨터 시스템의 효율을 급격히 감소시키는 문제점이 있다. ✔ 교착상태 모델 교착상태 예시 서로 강의 반대방향으로 향하는 두 사람이 징검다리를 건너면서 같은 돌을 디디려 할 때 발생하는 문제가 발생하는데 이를 교착상태라고 한다. 해결방법 : 프로토콜(규약)을 이용하여 해결해야 한다. 반대편에서 강을 건너는 사람의 유무를 확인해야 한다. 두 사람이 동시에 출발해도 교착상태가 발생하고, 두 사람이 모두 기..

운영체제 2023.10.16

[OS] 07. 프로세스 간 동기화 및 통신

(1) 개요 Concurrent Processes (병행 프로세스) 두 개 이상의 프로세스들이 동시에 수행됨을 의미한다. 독립적으로 작업이 수행되며, 다른 프로세스와 협력하여 기능 수행도 가능하다. 협력 수행 시에 프로세스 간의 *동기화 또는 통신이 필요하다. 공유 자원을 가지고 수행한다. 병행 프로세스 처리는 제한된 자원을 공유하기 위해 *상호작용이 필요하다. 상호 작용하는 프로세스들을 동기화하지 않으면 문제가 발생할 수 있다. Deadlock 문제, Critical Section 문제, 결과를 예측할 수 없는 상황 등이 발생할 수 있다. *동기화 : 협력하는 프로세스 간에 실행 순서가 필요하다. ex)입금이 끝나야 출금이 수행되어야 한다. *상호작용 : 제한된 자원을 공유하기 위함이며, 상호작용하는 ..

운영체제 2023.10.16

[OS] 06. 파일 시스템

(1) 개요 파일 시스템 = 파일 집합체 + 디렉터리 구조 관련된 정보를 포함하는 실제적인 파일들의 집합체이다. 시스템 내의 모든 파일에 대한 정보를 제공하는 디렉터리 구조이다. 파일 시스템은 OS가 관리하며, 파일과 폴더를 생성할 수 있는 시스템이다. File 정보의 집합체, 프로그램이나 데이터로 구성된다. 작성자에 의해 의미가 정의된 비트, 바이트, 행, 레코드들의 연속체이다. 파일의 이름, 형태, 작성 시기, 작성자, 길이 등의 속성 정보를 포함한다. Format 목적은 파일시스템을 디스크에 설치하는 것이다.(원래는 모두 지우는 용도로 알고 있음) 윈도우 전용 파일 시스템 종류 : FAT32, NTFS, EXFAT SSD,HDD는 포맷을 안 하면 못 쓰지만, USB는 기본적으로 FAT32로 포맷이 ..

운영체제 2023.10.16

[OS] 05. 디스크 스케줄링

(1) 개요 파일 시스템 데이터와 프로그램을 저장하고, 현재 컴퓨터 시스템은 주로 디스크 시스템 중심으로 파일시스템을 처리한다. 운영체제 디스크, CD-ROM, DVD-ROM 같은 기억용량이 큰 기억장치를 관리하고 운영한다. 그리고 파일을 추상적으로 관리한다. (2) 디스크 구조 1. 하드디스크(Hard Disk Drive : HDD)의 구조 플래터 : 데이터가 저장되는 곳으로, 양면으로 구성되어 있고 3-4판 정도가 있다. 액츄에이터 암 : 헤드를 데이터가 있는 곳으로 움직여준다. 헤드 : 데이터를 읽어준다. 전원 커넥터 : 하드디스크에 전원을 공급한다. 데이터 커넥터 : 하드디스크와 컴퓨터 사이의 데이터를 전송해준다. 스핀들 모터 : 플래터를 회전시킨다. (2) 이동헤드 디스크의 구성도 트랙(Trac..

운영체제 2023.10.16

[OS] 01. 운영체제 소개 (2)

(1) 운영체제에 대한 관점 1. 자원 관리자 관점의 OS OS는 자원이 효율적으로 사용되도록 하는 관리 책임이 있다. 프로세스 간에 발생할 수 있는 자원에 대한 경쟁 및 충돌을 해결한다. 자원의 상태를 추적하고, 어떤 프로세스가 언제 어떤 자원을 얼마나 사용할 것인지를 결정하는 정책을 수립하고 자원의 할당과 회수를 한다. ▶ 운영체제가 관리하는 네 가지 범주의 자원 프로세스 관리 기능(프로세서의 할당과 회수) 프로세스들에 대한 CPU의 할당 및 회수를 한다. Process Scheduler 역할 : 어떤 프로세스에게 CPU 사용 권한을 줄 것인지를 결정한다. 기억장치 관리 기능(메모리 공간 관리) 프로세스 할당과 회수를 위한 주기억장치(Main Memory)공간 관리를 한다. 다중 프로그래밍 환경에서 ..

운영체제 2023.10.16

[OS] 04. 가상 메모리 관리

(1) 개요 ▶ Virtual Memory 사용자(Process)는 실제 주소 공간의 크기에 구애받지 않고 보다 큰 가상 주소 공간상에서 프로그램을 수행 가능하게 한다. 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억장치 내에 존재하지 않고 일부만 있어도 수행되는 방법을 제공한다. 주기억장치보다 크기가 큰 프로세스 수행을 가능하게 한다. Virtual Memory : 가상 주소 공간을 가진다. (V.M이 클수록 성능은 저하되고, 디스크 상에 존재한다.) Main Memory : 실제 주소 공간을 가진다. OS는 V.M과 M.M 전체를 하나의 메모리로 인식한다. 전체 메모리는 가상 메모리를 포함한다. 가상 메모리가 추가 되어 많은 프로세스를 수행 가능하게 한다. CPU 입장에서는 V.M(디스크)를 물..

운영체제 2023.10.16

[OS] 03. 기억장치 관리

(1) 개요 프로그램과 데이터는 직접 실행되거나 참조되기 위하여 주기억장치 내에 존재해야 한다. 각 프로세스는 메모리 공간에 저장되고, 다수 프로세스들을 위한 주기억장치의 효율적인 관리가 필요하다. 이것이 OS의 역할이다. 주기억장치는 용량이 제한되어 있고 가격이 비싼 반면에, 보조기억장치(자기테이프, 하드디스크, 플로피디스크, CD-ROM, DVD-ROM, 플래시메모리, SSD, etc)는 용량이 크고 가격도 저렴하다. ▶ Address Binding & Type 정의 : 이진파일 형태로 디스크에 저장되어 있는 프로그램이다. (주기억장치 적재(로드)) logical address를 가진 프로그램이 주기억장치에 적재될 실제 physical address로 mapping되는 것을 의미한다. 1. Compi..

운영체제 2023.10.16

[OS] 02. 프로세스와 스레드 관리

(1) 개요 CPU는 컴퓨터 자원 중 가장 중요한 자원이다. 프로세스 스케줄링 *준비 완료(ready) 상태에 있는 프로세스들 중 어떤 프로세스를 CPU에 할당할 것인가를 결정하는 정책이다. CPU의 *처리량(Throughput)최대화와 *반환시간(Turnaround Time)의 최소화를 목표로 한다. *ready state : Main Memory에 올라와 있지만 CPU를 할당받지 못한 상태 *처리량 : CPU가 단위 시간당 처리하는 프로세스의 개수 *반환시간 : 각 프로세스가 시작해서 끝날 때까지 걸리는 시간 (2) 프로세스 관리 프로세스의 다양한 정의 실행(Executing Running)중인 프로그램 = 메모리에 로드된 프로그램 PCB(Process Control Block)를 지닌 프로그램 프로..

운영체제 2023.10.16

[OS] 01. 운영체제 소개 (1)

(1) 운영체제란? Operating System - 줄여서 OS라고 부른다. 컴퓨터 모든 자원들의 사용 및 공유 문제를 해결한다. 여기서 자원은 CPU, Memory, Monitor, 키보드 등을 말하는 것으로 OS가 이러한 모든 자원들을 통제한다. 컴퓨터 하드웨어와 사용자 간의 매개체 역할을 하는 시스템 소프트웨어로 사용자가 프로그램을 수행할 수 있는 환경을 제공해준다. 다시 말하면 하드웨어와 소프트웨어를 연결해주는 특수한 SW다. Ex) Mac, Android, Windows, Linux etc. 이러한 OS있어야 부팅이 되는데 없으면 컴퓨터 사용이 불가하다. ※ 부가설명 - 시스템 소프트웨어에는 OS, 컴파일러, 어셈블러, 로더, 링커 등이 있다. (2) 운영체제의 목적 컴퓨터 시스템을 편리하게 ..

운영체제 2023.10.16