분류 전체보기 27

9.가상 메모리 관리

메모리 관리자는 프로세스에 관한 배치 정책, 재배치 정책에 따라 메모리를 관리한다. 가상 메모리의 페이징과 세그먼테이션 기법의 가져오기 정책과 재배치에 알아보자. 1.요구 페이징 가져오기 정책은 프로세스가 요청할 때 메모리로 가져오는 방법이 일반적인데 이를 요구 페이징이라고 한다. 우리가 컴퓨터를 오래 사용하면 시스템이 느려질대가 있다. 이는 작업을 하지 않고 쉬는 프로세스나 좀비 프로세스가 메모리를 차지하여 관리가 복잡해지기 때문이므로 꼭 필요한 프로세스만 메모리에 유지하는 것이 좋다. 이처럼 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것이 요구 페이징이다. 현대 운영체제는 미리 가져오는 데이터가 쓸모 없을 경우가 발생하는 캐시보다는 요구 페이징을 기본으로 사용한다. 스와핑: 프로세스 입장에서..

운영체제 2020.12.02

8.가상 메모리 기초

가상메모리는 물리(실제) 메모리의 크기와 상관없이 메모리를 이용할 수 있도록 지원하는 기술이다. 현대 메모리 관리의 가장 큰 특징이라 할 수 있다. 가상 메모리 시스템의 모든 플로세스는 자신이 메모리의 어느 위치에 있든 상관없이 0번지 부터 연속된 메모리 공간을 가지는데 논리 주소와 유사해 보이지만 논리 주소는 물리 메모리 주소공간에 비례하고 가상 주소는 가상의 주소 공간을 가진다는 차이점이 있다. 가상 메모리는 이론적으로 무한대의 크기이다. 그러나 실제로 최대 크기는 그 컴퓨터 시스템이 가진 물리 메모리의 최대 크기로 한정되며 CPU 비트에 따라 결정된다. 1. 메모리 관리자는 물리 메모리와 스왑영역을 합쳐서 프로세스가 사용하는 가상 주소를 실제 메모리의 물리 주소로 변환하는데 이러한 작업을 동적 주소..

운영체제 2020.12.02

7.물리 메모리 관리

01 메모리 관리 개요 1.메모리의 용량을 늘리면 작업 속도가 빨라지지만 어느 수준 이상이 되면 그 차이가 적어진다. cpu의 작업 공간이 메모리이기 때문에 메모리 관리는 성능에 큰 영향을 미친다. 메모리 관리와 메모리에 프로세스를 항당하는 방식을 알아보자. 운영체제도 프로그램이므로 메모리에 올라와야 실행가능하며 메모리에는 사용자 프로세스 뿐 아니라 운영체제 프로세스도 공존한다. 컴퓨터 전원을 키면 부팅이 이루어지며 하드디스크에 저장된 운영체제가 메모리에 올라오고 부팅이 끝나면 메모리에서 작업을 할 수 있게 되는 것이다. 메모리 관리는 메모리 관리 시스템 MMS가 담당한다. MMS 역할(메모리 관리 유닛이라는 하드웨어를 일컫는다.) :가져오기/배치/재배치 가져오기 작업: 프로세스와 데이터를 메모리로 가져..

운영체제 2020.11.30

10.저장장치 관리

-입출력 버스 구조 파악 -입출력 과정에서 직접 메모리 접근,인터럽트,버퍼링이 어떻게 적용되는지 -디스크 장치 종류, 각 장치의 구조, 데이터 전송 시간 -디스크 장치의 여러 가지 관리 기법 이해 -디스크 스케줄링 기법을 이해하고 각 장단점 파악 -RAID 필요성 이해하고 구성 방식에 따른 종류 알아봄 주변장치는 데이터 전송 속도에 따라 저속 주변장치(메모리와의 적은 양의 데이터 오고가는 키보드)와 고속주변장치(대용량의 데이터,그래픽카드,하드디스크)로 구분. 채널은 데이터가 지나다니는 통로.여러 채널을 효율적으로 사용하기 위해서는 속도가 비슷한 장치끼리 묶는다. 입출력 버스의 구조 초기의 구조: 폴링방식으로 모든 장치가 하나의 버스로 연결되어 CPU를 선점(폴링)하는 방식. 입출력 제어기 사용 구조: 메..

운영체제 2020.11.14

3.프로세스와 스레드

프로그램이 메모리에 올라와서 실행시킬 수 있는 상태(동적인 상태): 프로세스 하드 디스크에 올라와있을때(정적인 상태) ▶프로그램이 프로세스 된다는 것! = 운영체제로부터 프로세스 제어 블록을 얻는다. 프로세스가 종료된다는 것! = 해당 프로세스 제어 블록이 폐기 된다. 일괄처리 시분할 메모리 _______ _______ _______ _______ . . 일괄처리방식은 '큐'로 처리된다 . 시분할 방식은 메모리에 프로세스가 여러개 올라와 있다. 시분할 방식에서 예상치 못한 상황처리 : 프로세서 제어 블록(PCB) 운영체제가 해당 프로세스를 위해 관히하는 자료구조. 대기 상태= 블록 상태 PCB에는 프로세스 처리 필요한 정보들이 들어있다. 프로세스 구분자: 프로세스 구분하는 PID 메모리 관련 정보: 프로..

운영체제 2020.09.23

4.CPU스케줄링

운영체제에서 cpu와 시스템 자원을 배덩하고 결정하는 일을 cpu스케줄러가 담당한다. 고수준 스케줄링 시스템 내 전체 작업 수 조절 장기 스케줄링,작업 스케줄링, 승인 스케줄링 이라고도 한다. 생성->준비(메모리)->실행 ->준비보류(swap) 중간수준 스케줄링 보류(메모리->swap)와 활성화(swap->메모리)로 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막는다, 저수준 스케줄링이 원만하게 이루어지도록 완충하는 역할을 한다. 저수준 스케줄링 어떤 프로세스에 cpu를 할당할지, 대기 상태로 보낼지 등 결정 짧은 시간에 일어나 단기 스케줄링이라고도 한다. 선점형 스케줄링 비선점형 스케줄링:끝나야 다음이 실행된다. CPU집중 프로세스: CPU 차지가 많아 프로세스 작업이 더딤. 입출력 집중 프..

운영체제 2020.09.23

4.델리게이트,이벤트,애트리뷰트

델리게이트 델리게이트(c++)에서는 제공하지 않는 기능 메서드를 대신하여 호출 받아 델리게이트에 있는 메서드를 대신 호출 메소드를 캡슐화하기 때문에 더 효율적(안전) c++과c의 함수 포인터와 유사하지만 더 객체지향적이고 타입이 안정적이다. 주로 스레드와 이벤트 처리하는데 사용된다. 선언형식은 일반 메서드 선언과 유사 [변경자]delegate 반환형 델리게이트_이름(인자_리스트); public -다른클래스 참조 internal-같은 프로그램 내 참조 1.메서드 선정 2.메서드에 맞게(반환형,인자리스트) 델리게이트 선언 3.델리게이트할 메서드를 갖는 객체 생성 4.델리게이트를 생성하고 호출 using System; using System.Collections.Generic; using System.Linq..

C# 2020.09.18