What are the five major activities of an operating system in regard to process management?(프로세스관리에 관련된 운영체제의 다섯가지 중요한 활동은 무엇인가?)1-사용자 프로세스와 시스템 프로세스의 생성과 제거2-프로세스의 중지와 재수행3-프로세스 동기화를 위한 기법 제공4-프로세스 통신을 위한 기법 제공5- 교착상태 방지를 위한 기법 제공What are the three major activities of an operating system in regard to memory management?(기억장치 관리에 관련된 운영체제의 세가지 중요한 활동)1 -기억장치의 어느 부분이 현재 사용되고 있으며 누구에 의해 사용되고 있는지를 추적해야한다.2- 기억공간이 사용 가능하게 될 때 어떤 프로세스들을 기억장치에 적재할 것인를 결정해야한다.필요에 따라 기억공간을 할당하고 회수해야 한다.What are the three major activities of an operating system in regard to secondary-storage management? (보조기억장치관리에 관련된 운영체제의 세가지 중요한 활동은 무엇인가?)비어있는 공간 관리(free-space)저장장소 할당디스크 스케줄링What are the five major activities of an operating system in regard to file management? (파일 관리에 관련된 운영체제의 다섯가지중요활동은?)파일의 생성 및 제거디렉토리의 생성 및 제거파일과 디렉토리를 조작하기 위한 프리미티브의 제공파일을 보조 저장 장치로 mapping안정적인(비휘발성)저장 매체에 파일을 백업What is the purpose of the command interpreter? Why is it usually separate from the kernel? (명령해석기의 목적은?일반적으로 그것을 왜 커널로분리하는가?)사용자 한다.List five services provided by an operating system. Explain how each provides convenience to the users. Explain in which cases it would be impossible for user-level programs to provide these services.(운영체제에 의해 제공되는 다섯가지 서비스를 열거하시오.각각 사용자에게 어떤 편리함을 제공하는지 설명하시오. 아울러 어떤경우에 사용자 레벨 프로그램이 이러한 서비스들을 제공하는 것이 불가능한지 설명하시오)프로그램 수행:시스템프로그램을 메모리에 적재해 실행할수 있어야 한다.입/출력연산: 입출력장치의 효율과 보호를 위해, 사용자들은 통상 입출력장치를 직접 제어할 수 없다.운영체제가 입/출력 수행의 수단 제공 한다파일시스템조작: 프로그램은 파일을 읽고 쓰고 생성하고 삭제할 수 있어야한다.통신: 한 프로세스가 다른 프로세스와 정보를 교환할 수 있어야 한다오류탐지: 운영체제는 모든 가능한 오류를 항상 의식하고 있으면서 오류가생기면 일관성 있게 적당한 조치를 취해야 한다.What is the purpose of system calls?(시스템 호출의 목적?)프로세서와 운영체제의 인터페이스를 제공Using system calls, write a program in either C or C++ that reads data from one file and copies it to another file. Such a program was described in Section 3.3.(시스템 콜을 이용하여 한 파일로부터 데이터를 읽어서 다른 파일로 복사하는 프로그램을 C나 C++을 이용하여 작성하라. 그러한 프로그램은 섹션안에 설명되어 있다.)Why does Java provide the ability to call from a Java program native methods that are written in, saye an example where a native method is useful.(원시 명령어를 사용하는 예를 들어라.)What is the purpose of system programs? (시스템 프로그램의 목적은 무엇인가?)프로그램 개발과 실행을 위해 보다 편리한 환경을 제공한다.What is the main advantage of the layered approach to system design? (시스템 설계시 계층적 접근 방법의 주요 장점은 무엇인가?)모듈화이다…각각의 계층별로 디버깅할 수 있기 때문에 자신의 계층에만 신경을 쓰면된다.시스템을 계층으로 나누면 시스템의 설계나 구현이 간단해진다.What is the main advantage of the microkernel approach to system design? (시스템 디자인에서 마이크로 커널 접근의 주요 이점은 무엇인가?운영체제의 확장이 용이하다. 대부분의 서비스가 사용자 프로세스로 수행되어 높은 보안성과 신뢰성 제공What is the main advantage for an operating-system designer of using a virtual-machine architecture? What is the main advantage for a user? (운영체제 설계자가 가상 기계구조를 사용하는 데 있어 주요 장점은 무엇인가? 사용자를 위한 주된 장점은 무엇인가?)다른 모든 가상기계로부터 완전히 격리되므로 보안상 안전하다. 운영체제 연구와 개발을 위한 완벽한 도구로 사용가능하다.Why is a just-in-time compiler useful for executing Java programs?(자바 프로그램을 실행하기 위해서 왜 just-in-time 컴파일러를 사용하는가?)JIT (just-in-time) compiler ; JIT 컴파일러는 JVM의 기능을 수행하면서 한번 기계어로 번역된 코드를 기억하고 있어서 다시 실행할 경우에는 번역과정을 거치지 않고 바로 기계어를 환경에서, JIT 컴파일러는 자바 바이트코드 (반드시 해석되어야만 하는 명령어를 포함한 프로그램)를, 프로세서에게 직접 전달될 수 있는 명령어로 바꾸어주는 프로그램이다.이러한 이유로 JIT는 속도가 빠르다Why is the separation of mechanism and policy a desirable principle?( 매커니즘과 정책의 분리는 어떤 이유로 바람직한 속성이라 할 수 있는가?)나중에 정책변경시 유연성을 부여하기 위함이다. 매커니즘은 어떤일을 어떻게 할것인가를 결정하는것이고, 정책은 무엇을 할것인가를 결정하는 것이다.The experimental Synthesis operating system has an assembler incorporated within the kernel. To optimize system-call performance, the kernel assembles routines within kernel space to minimize the path that the system call must take through the kernel. This approach is the antithesis of the layered approach, in which the path through the kernel is extended so that building the operating system is made easier. Discuss the pros and cons of the Synthesis approach to kernel design and to system-performance optimization. (실험적 합성-experimental synthesis-운영체제는 커널 공간 안에 있는 루틴을 어셈블하고,경로의 최소화를 위해 시스템 호출은 커널을 통해서 이루어진다. 이 접근 방법은 계층적 접근 방법과는 대립되며. 커널을 통해 이루어진 경로가 확장되어 운영체제 구축을 쉽게 한다. 커널을 설계하고 시스템 성능을 대해 논하라.)3.9요약운영체제는 여러가지 서비스를 제공하는데, 최하위 계층인 시스템 호출은 수행중인 프로그램이 운영체제로 직접 요청하도록 한다. 최상위 계층인 명령 해석기는 사용자가 프로그램을 작성하지 않고도 시스템 호출을 요청할 수 있도록 제공한다. 명령은 카드(일괄처리 시스템인 경우)나 단말기(대화형 혹은 시분할 체제)로부터 직접 입력할 수 있다. 시스템 프로그램은 사용자의 요구를 만족하기 위한 또 다른 방법을 제공한다.요청은 형태는 요청의 수준에 따라 다양하다. 시스템 호출 계층은 프로세스 제어, 파일 및 장치 조작과 같은 기본적인 기능을 제공한다. 명령 해석기 혹은 시스템 프로그램에 의해 충족되는 최상위 계층 요청들은 시스템 호출의 연속으로 번역된다. 시스템 서비스는 프로그램 제어, 상태 요청, I/O 요청과 같은 여러가지 형태로 분류될 수 있다. 프로그램 오류는 서비스를 위한 묵시적 요청으로 생각할 수 있다.일단 시스템 서비스가 정의되면 운영체제의 구조가 개발될 수 있다. 여러가지 테이블들이 시스템 작업의 상태와 컴퓨터 시스템의 상태 정보를 기록하기 위해 필요하다.새로운 운영체제의 설계는 중요한 업무로서 시스템 설계전에 시스템의 목표가 잘 설정해야 하는 것이 중요하다. 어떤 시스템 형태를 원하는가에 따라서 여러가지 알고리즘과 정책들 중에서 필요한 것을 선택하게 된다.운영체제는 매우 크기 때문에 모듈화하는 것이 중요하다. 계층 순서대로 시스템을 설계하는 것은 중요한 설계 기술로 간주된다. 가상 기계의 개념은 계층적 접근 방식으로 운영체제의 커널과 하드웨어를 모두가 하드웨어인 것처럼 취급하고 있다. 즉 다른 운영체제들은 가상 기계 위에 놓여진다.전체 운영체제 설계과정을 통해 정책 결정은 자세한 구현과는 분리하도록 주의해야 한다. 후에 정책 결정이 변경될 때 이러한 분리는 최대의 유용성을 제공한다.지금 대부분의 운영체제는 시스템 구현 언어 혹은 고급언어로 작성된다. 이러한 특성은 구현, 유지관리, 호환성을 향상시킨다. 특정 기계 구조에 대한 운영체제를 다.