운영체제/시스템 구조
-
운영체제 디버깅운영체제/시스템 구조 2018. 2. 3. 15:47
디버깅은 하드웨어와 소프트웨어에서의 시스템 오류를 발견하고 수정하는 행위이다. 성능 문제는 버그로 간주되므로 병목 현상을 제거하여 성능을 향상시키는 성능 조정도 디버깅에 포함된다. 장애 분석 장애가 발생할 시 운영체제는 오류 정보를 로그 파일에 기록한다. 프로그램의 오류는 프로세스가 사용하던 메모리를 캡처한 코어 덤프를 생성한다. 운영체제의 오류는 커널 메모리가 포함된 충돌 덤프를 생성한다. 성능 조정 병목 현상을 제거하여 성능을 향상시킨다. 운영체제는 병목 지점 발견을 위해 시스템 성능을 감시하고 시스템 동작을 측정할 수 있는 수단을 제공한다.
-
운영체제 구조운영체제/시스템 구조 2018. 2. 3. 14:17
MS DOS최소의 공간에 최대의 기능을 제공하도록 작성됨모듈들로 분할되지 않음인터페이스의 기능 계층이 분리되지 않음 초기UNIX커널과 시스템 프로그램으로 구성됨하나의 계층으로 결합되기에는 엄청나게 많은 기능을 제공함이러한 구조는 구현하기 어렵고 유지 보수하기 어렵지만 성능면에서는 장점을 가진다. 커널시스템 호출 인터페이스 아래와 물리적 하드웨어의 모든 것커널은 시스템 호출을 통하여 기능들을 제공한다. 계층적 접근운영체제가 여러 개의 계층으로 분할되어 있음최 하위 계층은 하드웨어, 최 상위 계층은 사용자 인터페이스장점 : 구현과 디버깅이 간단함어려운 점 : 여러 계층을 적절히 정의 하는 것각 층은 자신보다 하위 수준의 층에 의해 제공된 연산들만 사용해 구현한다.이 접근 방식은 시스템 호출 오버헤드로 인해 ..
-
운영체제 설계 및 구현운영체제/시스템 구조 2018. 2. 3. 14:08
설계 목표 시스템 설계시에는 시스템의 목표와 명세를 정의해야 한다. 설계는 하드웨어와 시스템 유형에 의해서도 영향을 받는다. 세부 요구 조건 사용자 목적 : 운영체제는 접근성, 편리성, 신뢰성, 안전성, 신속성을 가져야 한다. 시스템 목적 : 운영체제는 설계, 구현, 유지보수가 쉬워야 하며 적응성, 신뢰성, 무오류, 효율성을 가져야 한다. 기법과 정책 한 가지 중요한 원칙은 기법으로부터 정책을 분리하는 것이다. 기법 : 어떤 일을 어떻게 할 것인가를 결정하는 것 정책 : 무엇을 할 것인가를 결정하는 것 정책은 장소가 바뀌거나 시간의 흐름에 따라 변경될 수 있다. 최악의 경우 정책의 각 변경이 기법의 변경을 요구하게 된다. 정책의 변경에 민감하지 않은 일반적인 기법이 보다 바람직하다. 구현 초창기 운영체제..
-
시스템 프로그램운영체제/시스템 구조 2018. 2. 3. 12:36
시스템 프로그램은 프로그램 개발과 실행을 위해 보다 편리한 환경을 제공한다. 시스템 프로그램의 범주 파일 관리 : 파일과 디렉토리를 생성, 삭제, 조작 상태 정보 : 시스템의 상태 정보 파일 변경 : 에디터 프로그래밍 언어 : 컴파일러, 어셈블러, 해석기 프로그램 적재와 수행 : 적재기 통신 : 프로세스, 사용자, 다른 컴퓨터 시스템 사이. 가상 접속을 이루기 위한 기법 제공 백그라운드 서비스 : 부팅 시간에 시작되어 임무 완수 후 종료되거나 시스템이 종료될 때까지 실행됨
-
시스템 호출의 유형운영체제/시스템 구조 2018. 2. 3. 12:34
프로세스 제어, 파일 조작, 장치 관리, 정보 유지 보수, 통신 등으로 분류된다. 프로세스 제어실행중인 프로그램은 정상적 혹은 비정상으로 멈출 수 있어야 한다.한 프로그램을 실행하고 있는 프로세스나 잡이 다른 프로그램을 적재하고 실행할 수 있어야 한다.새로운 잡이나 프로세스를 생성할 때 그들의 실행을 제어 할 수 있어야 한다.이러한 제어는 잡 또는 프로세스의 속성을 결정하고 재 설정 할 수 있는 능력을 필요로 한다.새로 생성된 잡 또는 프로세스가 잘못되었거나 더 이상 필요 없다면 종료 할 수 있어야 한다.새로운 잡이나 프로세스를 생성한 후에는 실행이 끝나기를 기다려야 할 필요가 있을 수 있다.이 경우 잡이나 프로세스들은 그 사건이 일어나면 신호를 보내야 한다.공유하는 데이터의 일관성을 제공하기 위해 운영..
-
시스템 호출운영체제/시스템 구조 2018. 2. 3. 12:30
시스템 호출은 운영체제에 의해 사용 가능하게 된 서비스에 대한 인터페이스를 제공한다. 이러한 호출은 일반적으로 C나 C++ 언어로 작성된 루틴 형태로 제공한다. 프로그램은 직접 시스템 호출을 사용하기 보다는 API를 거쳐서 접근한다. 시스템 호출의 구현 통상 각 시스템 호출에는 번호가 할당되고 API는 번호에 따라 인덱스 되는 테이블을 관리한다. API는 의도하는 시스템 호출을 부르고 상태와 반환 값을 돌려준다. 호출자는 시스템 호출이 어떻게 구현되고 실행 중에 무슨 작업을 하는지 알 필요가 없이 API를 준수하고 시스템 호출의 결과로 운영체제가 무엇을 해 줄 것 인지만 이해하면 된다. 운영체제 인터페이스에 대한 대부분의 자세한 내용은 API에 의해 프로그래머로부터 숨겨지고 실행시간 지원 라이브러리에 의..
-
사용자 운영체제 인터페이스운영체제/시스템 구조 2018. 2. 3. 12:25
사용자가 운영체제와 접촉하는 방식 대부분의 시스템이 명령어 인터페이스와 그래픽 유저 인터페이스를 모두 제공한다. 명령어 해석기 운영체제가 수행할 명령어를 직접 입력하는 수단을 제공한다. 주요기능은 사용자가 지정한 명령을 해석하고 수행하는 것이다. 명령어 해석기는 커널에 구현되거나 시스템 프로그램으로 제공된다. 선택할 수 있는 여러 명령어 해석기를 제공하는 시스템에서 이 해석기는 셸이라고 한다. 구현 방법 한 가지는 명령 해석기 자체가 명령을 실행할 코드를 갖고 있는 방식 시스템 프로그램에 의해 대부분의 명령을 구현하고 명령어 해석기는 명령에 해당하는 시스템 프로그램을 찾아 실행하는 방식 그래픽 유저 인터페이스 마우스를 기반으로 하는 윈도우 메뉴 시스템 1973년에 출시 된 Xerox Alto컴퓨터에서 처..
-
운영체제 서비스운영체제/시스템 구조 2018. 2. 3. 12:23
운영체제는 프로그램 실행 환경을 제공해주고프로그램과 그 프로그램의 사용자에게 특정 서비스를 제공한다. 사용자 인터페이스 : 명령어 인터페이스와 그래픽 사용자 인터페이스로 구분된다.프로그램 수행 : 프로그램을 메모리에 적재해 실행하고 정상적이든 비 정상적이든 실행을 끝낸다.입 출력 연산 : 운영체제가 입 출력 동작의 수단을 제공한다.파일 시스템 조작 : 파일 및 디렉토리 생성, 삭제, 읽기, 쓰기, 파일 검색, 사용 허가 기능을 제공한다.통신 : 동일한 컴퓨터 또는 네트워크에 연결된 컴퓨터 상에서 한 프로세스가 다른 프로세스소아 정보를 교환하는 수단을 제공한다.오류 탐지 : 모든 가능한 오류를 탐지하고 적절한 조치를 취한다. 시스템의 효율적 동작을 보장자원 할당 : 다수의 사용자나 다수의 작업들이 동시에 ..