컴퓨터 시스템 작동
• 컴퓨터 시스템 작동
• I/O 구조
• Storage 구조, Storage 계층
• 하드웨어 보호
• 운영체제 Interrupt, System call
• 운영체제 작업:
• Process 관리, Memory 관리, 보조 Storage 관리, I/O 시스템 관리, 파일 관리, 보호 & 보안
I/O 구조
• 동기식 입출력 • 대기 명령이 다음 인터럽트까지 CPU를 유휴 상태로 둠. • 동시 I/O처리가 불가능하며, 한번에 한개씩만 I/O요청• 비동기 I/O • I/O가 시작된 후에는 I/O가 완료될 때까지 기다리지 않고 사용자 프로그램으로 제어 기능이 돌아감. • System call - 사용자가 I/O가 완료될 때까지 기다릴 수 있도록 OS에 대한 시스템 호출 필요 • 기기 상태 표 - 기기별로 유형, 주소 및 상태 유지
• OS는 디바이스 상태를 확인하고 Interrupt를 포함하도록 테이블 항목을 수정하기 위해 I/O장치 테이블로 색인을 만듭니다.
Direct Memory Access (DMA)
• Memory 속도에 근접하게 정보를 전송할 수 있는 고속 입출력 장치에 사용. • 장치 컨트롤러는 CPU의 개입 없이 버퍼 저장소에서 메인 메모리로 직접 데이터 블록을 전송.• Byte(또는 Word)당 하나가 아닌 블록당 하나의 Interrupt만 생성.
Storage 구조
• Main memory (주 기억 장치) : CPU가 직접 액세스 할 수 있는 대형 스토리지 미디어. • Secondary storage (보조 기억 장치) : 비휘발성 저장소 용량이 큰 기본 메모리의 확장 • 자기 디스크 : 자기 기록 소재로 덮인 견고한 금속 또는 유리 플래터. • 디스크 표면은 논리적으로 트랙으로 구분되고, 섹터로 나뉩니다. • 디스크
컨트롤러는 장치와 시스템 간의 논리적 상호 작용을 결정합니다.
컴퓨터 Storage의 기본 단위는 bit입니다. bit는 0과 1의 두 값 중 하나를 가질 수 있습니다. 컴퓨터의 모든 Storage는 비트 모음을 기반으로 합니다. byte는 8비트이며, 대부분의 컴퓨터에서 가장 작고 편리한 chunk입니다. 대부분의 시스템에는 bit 이동 명령이 없고 바이트를 이동 명령이 있습니다. word는 컴퓨터 구조의 기본적인 데이터 단위입니다. word는 하나 이상의 byte로 구성되어 있습니다. 예를 들어 64bit 레지스터를 사용하고 64bit 메모리 주소를 할당하는 시스템에는 대개 64bit (8byte) word가 있습니다. 시스템은 한번에 byte가 아닌 native word 크기로 많은 작업을 실행합니다.
Storage 계층
• Storage 시스템은 속도, 비용, 변동성을 기반으로 계층 구조로 구성
• Caching - 정보를 더 빠른 스토리지 시스템으로 복사하는 프로세스로, Main memory는 보조 Storage를 위한 고속 캐시로 볼 수 있습니다.
하드웨어 보호
• Dual mode 작동• I/O 보호• 메모리 보호
• CPU보호
Dual mode 작동
• 시스템 리소스를 공유하려면 운영 체제에서 다른 프로그램이 잘못 실행되지 않도록 해야 합니다.• 하드웨어에 적어도 두가지 이상의 작동모드를 구분하여 제공
:
1. User mode - 사용자를 대신하여 실행됩니다.
2. Monitor mode (Supervisor/kernel/시스템 모드) - 운영 체제를 대신하여 실행됩니다.
• Monitor(0)또는 User(1)와 같은 현재 모드를 나타내기 위해 컴퓨터 하드웨어에 Mode bit가 추가되었습니다. • Interrupt나 오류가 발생하면 하드웨어가 모니터 모드로 전환합니다. • 특권이 부여된 명령어(Privileged instructions)는 Monitor mode에만 있음
I/O 보호
• 모든 I/O 명령어은 권한이 있는 명령어입니다.
• User 프로그램이 Monitor mode에서 컴퓨터를 제어할 수 없도록 해야 합니다.
메모리 보호
• 메모리 보호 기능을 제공하기 위해 프로그램이 다룰 수 있는 논리적 주소 범위를 결정하는 레지스터 2개를 추가합니다. • Base register - 프로세스의 시작 주소• Limit register - 프로세스의 끝 지점 주소• 정의된 범위(Base register < 범위 < Limit register)를 벗어나는 메모리는 보호됩니다.
• Monitor mode에서 실행하는 경우 OS는 모니터와 사용자의 메모리에 제한 없이 액세스 할 수 있습니다.
CPU 보호
• Timer - OS가 제어 상태를 유지하도록 하기 위해 지정된 시간이 지나면 컴퓨터를 Interrupt합니다. • Timer는 매 clock tick 마다 감소한다. • Timer가 0의 값에 도달하면 Interrupt가 발생합니다. • Timer는 일반적으로 시간 공유를 구현하는 데 사용됩니다. • 현재 시간을 계산하는 데도 Timer가 사용됩니다.
• Load timer(로드 타이머)는 권한이 있는 명령
시스템 콜 (System call)
• 실행 중인 프로그램과 OS 사이의 인터페이스. • 어셈블리 언어 명령어 (매크로 & 서브 루틴) • 일부 고급 언어에서는 시스템 호출을 직접 수행할 수 있습니다. ex) C • 레지스터, 메모리 테이블 또는 스택을 통해 실행 중인 프로그램과 OS간 Parameter 전달 • 유닉스는 약 32개의 시스템 호출을 가지고 있다.
• read(), write(), open(), close(), fork(), exec(), ioctl() ...
운영체제가 하는 일 : Process 관리
• Process : OS의 기본 개념 • Process는 실행 중인 프로그램입니다.• Process가 필요로 하는 Resource - CPU time, 메모리, 파일/데이터, I/O 장치• OS는 다음과 같은 프로세스 관리 활동을 담당합니다. • Process의 생성 & 삭제 •
Process의 중단 & 재개
•
Process의 동기화 & Process간 통신
•
Process interactions : Deadlock 탐지, Avoidance & Correction
운영체제가 하는 일 : Memory 관리
• Main memory (주 기억 장치)는 빠르게 접근 할 수 있는 주소 지정 가능한 word나 byte의 배열이다. • Main memory는 휘발성입니다. • OS가 담당하는 역할 :• Process에 Memory 할당 & 할당 취소 • Memory 내에서 여러 Process 관리 : 어떤 Process가 어떤 Memory를 사용하는지 추적합니다. Process 간 Memory 공유를 관리합니다.
• Memory가 사용 가능해 지면 어떤 Process를 load해야 할지 결정합니다.
운영체제가 하는 일 : Secondary storage(보조 기억 장치) & I/O 관리 • Main memory는 고가이며 휘발성이기 때문에 백업하려면 Secondary storage가 필요합니다. • Disk는 보조 기억 장치의 기본 형식입니다. • OS는 Storage 할당, Free-space 관리, Disk예약을 수행합니다. • OS내의 I/O 시스템은 다음과 같이 구성됩니다. • Buffer 캐싱 & 관리 • 기기 세부 정보를 추상화하는 기기 드라이버 인터페이스
• 특정 하드웨어 장치용 드라이버
운영체제가 하는 일 : 파일 시스템 관리
• 파일은 작성자가 정의한 관련 정보의 모음으로, 프로그램 및 데이터를 나타냅니다.• OS가 담당하는 역할 : • 파일 생성 & 삭제 • 디렉터리 생성 & 삭제 • 파일/디렉토리 조작을 위한 기본적인 요소 지원 • 파일을 디스크
(보조 기억 장치)에 매핑
• 파일을 아카이브 미디어(테이프)의 백업
운영체제가 하는 일 : Protection & Security
• Protection(보호) : OS에 의해 정의된 리소스에 대한 프로세스 또는 사용자의 액세스를 제어하는 메커니즘 • Security(보안) : 내부 및 외부 공격으로부터 시스템을 방어 • 서비스 거부(Denial-of-Service), 웜, 바이러스, ID도용, 서비스 도난 등 다양한 범위 • 일반적으로 시스템은 먼저 사용자를 구분하여 누가 무엇을 할 수 있는지 결정합니다. • 사용자(User ID, 보안 ID)에는 이름 및 관련 번호가 포함되며, 사용자당 하나씩 포함됩니다. • User ID를 모든 파일과 연결하고 해당 사용자의 프로세스를 통해 액세스 제어 결정• 그룹 식별자(Group ID)를 통해 사용자 집합을 정의하고 제어할 수 있으며, 또한 각 프로세스, 파일과 연결할 수 있습니다.
• 권한 상승을 통해 사용자가 더 많은 권한을 가진 유효 ID로 변경할 수 있음
'잡지식' 카테고리의 다른 글
1. 운영체제 소개 (1) (0) | 2018.01.08 |
---|---|
2017 삼성전자 Foundry사업부 채용설명회 후기 (0) | 2017.09.07 |
[스피킹시험] 토스 vs 오픽 특징 비교 (0) | 2017.08.29 |
하이퍼텍스트와 속성 (0) | 2017.08.09 |
HTML 소개, 기본 문법 (0) | 2017.08.07 |