1 / 8

운영체제의 구조는 컴퓨터 시스템 자원관리 계층에 따라 분류하면 일반적으로 5 가지 기능을 수행하는 것으로 볼 수 있다 .

과제 20092043 임광훈. 1. 운영체제 구조. 운영체제의 구조는 컴퓨터 시스템 자원관리 계층에 따라 분류하면 일반적으로 5 가지 기능을 수행하는 것으로 볼 수 있다 . 1 계층  ( 프로세서 관리 ) :  동기화 및 프로세서 스케줄링 담당 2 계층  ( 메모리 관리 )   :  메모리의 할당 및 회수 기능을 담당 3 계층  ( 프로세스 관리 ) :  프로세스의 생성 , 제거 , 메시지 전달 , 시작과 정지 등의 작업

Download Presentation

운영체제의 구조는 컴퓨터 시스템 자원관리 계층에 따라 분류하면 일반적으로 5 가지 기능을 수행하는 것으로 볼 수 있다 .

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 과제 20092043 임광훈 1. 운영체제 구조 운영체제의 구조는 컴퓨터 시스템 자원관리 계층에 따라 분류하면 일반적으로 5가지 기능을 수행하는 것으로 볼 수 있다. 1계층 (프로세서 관리) :  동기화 및 프로세서 스케줄링 담당 2계층 (메모리 관리)   :  메모리의 할당 및 회수 기능을 담당 3계층 (프로세스 관리) :  프로세스의 생성, 제거, 메시지 전달, 시작과 정지 등의 작업 4계층 (주변장치 관리) :  주변장치의 상태파악과 입출력 장치의 스케줄링 5계층 (파일정보 관리) :  파일의 생성과 소멸, 파일의 열기와 닫기, 파일의 유지 및 관리 담당

  2. 자동적으로 메모리를 지우고 최초 몇개의 명령어를 적재하여 컴퓨터를 사용가능케 하는 초기 조건 형성과정. 컴퓨터 스스로가 처음 동작하기 위해서는 모든 컴퓨터가 이 과정을 필요로 한다. 부팅이라고도 한다. • 2.Bootstrapping ★ 컴퓨터가 켜져 운영체제를 실행하게 도와주는 것 ★ 운영체제에서 자기 자신을 메모리에 로드하는 과정 ★ 기계의 상태(하드웨어의 기능 동작)를 진단하고 CPU 레지스터, 장치 제어기, 주 메모리의 내용을 초기화 하고 커널을 찾고 이를 주 메모리에 적재하고 수행을 시작한다. • 3.Interrupt 프로그램이 실행되고 있을 때 외부의 어떤 변화에 의하여 그 프로그램의 실행이 정지되고, 변화에 대응하는 다른 프로그램이 먼저 실행되는 일. 컴퓨터 작동 중에 예기치 않은 문제가 발생한 경우라도 업무 처리가 계속될 수 있도록 하는 컴퓨터 운영체계의 한 기능. 컴퓨터가 공통되는 작업을 하기 위해 호출하는 루틴을 말한다. 인터럽트가 발생이 되면 실행중의 프로그램을 중단하고, 요구에 따라 처리를 한다.

  3. 4.System call 개념 ☆ 프로세스와 운영 체제 간의 인터페이스 제공 ☆ 일반적으로 어셈블리어를 사용하나 어떤 시스템에서는 고급언어에서 직접 호출하도록 허용 ☆ 프로그래밍 언어에서 지원하지 않는 기능에 대하여 운영체계의 루틴을 호출하여 이용하는 것

  4. 5.System call 종류 1) 프로세서 제어 - 끝내기(end), 중지(abort)     - 적재(load), 실행(execute)     - 프로세스 생성, 종료 - 프로세스 속성(attribute) 획득, 프로세스 속성 설정 - 일정 시간 대기 - 사건을 기다림(wait event), 사건을 알림(signal event)     - 메모리 할당 및 자유화 2) 파일조작 - 파일 생성(create file), 파일 삭제(delete file)     - 열기(open), 닫기(colse)     - 읽기, 쓰기, 위치변경(reposition)     - 파일 소속 획득 및 설정 3) 장치 관리 - 장치를 요청(request device), 장치를 방출(release device)     - 읽기, 쓰기 위치 변경(reposition)     - 장치 속성 획득, 장치 속성 설정 - 장치의 논리적 부착(attach) 또는 분리(detach)   4) 정보 유지 - 시간과 날짜의 설정과 획득 - 시스템 자료의 설정과 획득 - 프로세스, 파일, 장치 속성의 획득 - 프로세스, 파일 장치 속성의 설정 5) 통신 - 통신 연결의 생성, 제거 - 메시지의 송신, 수신 - 상태 정보 전달 - 원격 장치의 부착 및 분리

  5. 6.Process 실행중인 프로그램 / 작업 단위 CPU 시간, 기억장치, 파일, 입출력 장치 등의 자원 요구 프로그램: 디스크 상에 저장된 파일의 내용 사용자프로세스와시스템프로세스의생성과제거 프로세스의 일시중지와 재 수행 프로세스 동기화를 위한 기법 제공 프로세스 통신을 위한 기법 제공 교착상태(deadlock) 처리를 위한 기법 제공 • 7.User Interface Interface:command Interpreter / GUIinterface  1) Command Interpreter - 명령 해석기는 사람에 의해 입력되거나 프로그램에 의해 호출되는 명령을 이해하고 실행해주는 컴퓨터 운영체계의 일부이다. 어떤 운영체계에서는 명령 해석기를 쉘(shell)이라고 부르기도 한다 2) GUI Interface - 사용자가 컴퓨터와 정보를 교환할 때, 그래픽을 통해 작업할 수 있는 환경을 말한다. 마우스 등을 이용하여 화면에 있는 메뉴를 선택하여 작업을 할 수 있다.

  6. 1) WIn 32 API for a Windows   2) POSIX API for a POSIX system(Unix, Linux, Max OS ets)   3) JAVA API for a Java Virtual Machine • 8.APT 종류 • 9.System call 시 파라메터 전달 방식 ★System calls provide the interface between a running program and the operating system. (시스템 호출이 실행중인 프로그램과 운영 체제 사이의 인터페이스를 제공합니다.) ★Generally available as assembly-language instructions.(일반적으로 어셈블리 언어의 지시로 이용 가능.) ★Languages defined to replace assembly language for systems programming allow system calls to be made directly. (e.g., C, C++) (언어는 시스템 프로그래밍을위한 어셈블리 언어를 대체하는 시스템 호출을 직접 만들 수 있도록 정의.) ★Three general methods are used to pass parameters between a running program and the operating system.(세 가지 일반적인 방법은 실행중인 프로그램과 운영 체제 사이의 매개 변수를 전달하는 데 사용됩니다.) ★registers : Pass parameters in registers.(레지스터에 패스 매개 변수입니다.) ★memory : Store the parameters in a table in memory, and the table address is passed as a parameter in a register.(저장소 메모리에 테이블에서 매개 변수 및 테이블 주소는 레지스터에 매개 변수로 전달됩니다.) ★stack : Push (store) the parameters onto the stack by the program, and pop off the stack by operating system. (프로그램에 의한 스택과 운영 체제에 의해 pop off 스택에Push(저장소)매개변수)

  7. 10. System Program 1.사용자 편의로 된 언어로부터 기계어로 프로그램을 번역하는 언어 처리기 2.응용 프로그램들을 위한 표준 루틴을 제공하는 자료집 프로그램 3.컴퓨터 요소들 간에 또는 컴퓨터와 사용자 간에 통신을 쉽게 해 주는 유틸리티 프로그램 4.컴퓨터 유지 및 관리를 도와주는 진단 프로그램 5.여러 가지 프로그램들을 기억 장치로 읽어 들이는 적재 프로그램 6.모든 컴퓨터 프로그램들을 관리하고 그 실행을 제어하는 운영 체계 • 11.Monolithic Structure of OS MA-DOS는 최소의 공간에 최대한의 기능을 제공하도록 설계되었다. 모듈로 구분되어지지 않고 약간에 구조를 가질 지라도 인터페이스와 기능성의 수준은  이전과 잘 구분되지 않음 UNIX 커널과 시스템 프로그램으로 나뉘어 있다. 커널은시스템 호출 인터페이스 아래와 하드웨어 위의 모든 것이다. 시스템 호출을 통해 파일시스템,CPU 스케쥴링, 메모리 관리 등을 제공한다. . • 12.Layered Approach of OS 모듈화한 운영체제 적절한 하드웨어 지원이 있을 경우, 운영체제는 기능들을 더 작은 단위로 나눌 수 있게 되었다. 1.커널로부터많은 기능을 제거하고 “사용자” 공간으로 이전 - 커널은 최소한의 프로세스 및 메모리 관리와 통신 기능을 담당한다. 2.메시지 패싱을 통한 서버-클라이언트 통신 장점 - 운영체제 확장의 용이성 - 운영체제를 새로운 하드웨어로 포팅하기 쉽다. - 보안과 신뢰성 단점 - 수행 속도가 떨어짐 ex) Mach, QNX, Windows NT • 13.Microkernal ststem structure

  8. - 프로세스가 마치 자신만의 프로세서와 메모리를 가지고 있는 것처럼 생각할 수 있도록 운영체제를    설계할 수 있다. 이런 접근 방식을 가상기계라 한다. - 가상 기계 방식에서 모든 프로세스는 컴퓨터의 복사본이 제공된다. - 가상 기계를 사용하면 입출력의 실행 속도는 실제 기계에서 이루어지는 것보다 빠를 수도 있고(스풀링)느릴 수도 있다(해석방법) - CPU는 여러 가상 기계 사이에 다중 프로그래밍되므로 가상 기계의 속도는 더 느려질 수 있다. 14. virtual Machine - 자바:Sun사에서 개발한 객체지향 언어 - 자바 프로그램은 자바 가상 기계를 사용하며, 이 때문에 자바 프로그램은 자바 가상 기계가 있는     어떤 컴퓨터에서도 실행된다. - 자바 컴파일러는 각 자바 클래스 마다 컴퓨터 구조와 독립적인 바이트코드를 생성하며, 이 코드는     자바 가상 기계에서 실행된다. - 자바 가상 기계는 클래스 로더, 클래스 확인자 자바 인터프리터로 구성되어 있다. - 자바 가상 기계는 폐영역 회수방법으로 메모리를 관리한다. - 자바 인터프리터는 바이트코드를 그때 그때 해석하여 실행하는 소프트웨어 모듈이거나 바이트코드     를 모두 목적 컴퓨터의 기계코드로 바꾸어 실행하는 JIT(Just-In-Time)컴파일러일 수 있다. • 15. Java Virtual Machine • 16.CLR Virtual Machine - 프레임워크의 일부로서 운영체제에서 응용프로그램의 코드를 실행시키는데 필요한 각종 서비스를    제공하는 일종의 가상머신이며 중간언어로 작성된 프로그램 실행가능해서 운영체제, 프로그래밍이    독립적이다. CLR은 모든 렝기지를 수용할 수 있는 형태로 만들어 졌으며, 단, MS에서는 윈도우즈 에만포팅하여 사용하고 있다.

More Related