Common System Components(일반적인 시스템 구성요소)
- Process Management : 어느 프로세스에게 시간을 줄까~?
- Main Memory Manaement : 메모리 사용자 추적, 회수...
- File Management : 파일,디렉토리관리(TREE)
- I/O System Management : 드라이버 관리 및 버퍼링,캐싱,스플링....
- Secondary-Storage Management : 저장소관리
- Networking : http, ftp, nfs
- Protection System : 시스템자원의 파괴 방지
- Command - Interpreter System : shell(Communication both of user and OS)
Operating System Services(운영체제 서비스)
- Program execution : 프로그램,메모리에 적제후 실행
- I/O operations : 입출력장치 조정(시리얼 포트제어)
- Filesystem manpulation : 파일, 디렉토리관리
- Communications : 프로세스간의 정보교환관리
- Error detection : CPU, 메모리, I/O.....등등의 상세현황을 OS는 알고 고치거나 알려야함
- Resource allocation : 스케쥴링
- Accounting : 자원의 사용정도의 회계
- Protection : 시스템 자원관리 및 침범 예방
System Calls
- 시스템콜은 프로세스와 운영체제간의 인터페이스를 제공한다.
- 프로세스와 운영체제간의 파레메터 교환에는 3가지 방법이 있다.
ㅁ 파라메터를 레지스터에 넘김(Direct)
ㅁ 파라메터를 메모리안의 테이블에 저장하고 테이블 주소를 레지스터에 파라메터 처럼 넘긴다.(pointer)
ㅁ 파라메터를 stack에 프로세스로 저장하고 운영체제가 불러온다.
Types of System Calls
- Process control : 실행, 중지, 속성관리, 메모리할당....
- File management : 삭제, 생성, 일기, 닫기.....
- Device management : 장치사용요구, 일기, 쓰기, 부착, 분리....
- Information maintenance : 유지, 획득, 설정(날자, 데이터)...
- Communications : 메시지 송,수신, 정보전달....
System Programs
- 시스템 프로그램은 프로그램 개발과 실행을 위한 편리한 환경을 제공한다.
ㅁ File manipulation : copy, move, delete...
ㅁ Status information : time, date, dir
ㅁ File modification : vi, edit
ㅁ Programming language support : 잘없음(ex) gcc???;
ㅁ Program loading and execution : 프로그램 수행..shell정도인가?; 아닌가..
ㅁ Communications : 그냥 통신-_-?ㅋ;
- 대부분의 사용자가 보는 운영체제의 관점은 실제의 시스템 호출에 의해서 보다는 시스템 프로그램에 의해 정의 된다.
System Structures
- Simple structure : DOS
- Layered approach : 가장 밑의 레이어는 하드웨어, 가장 위의 레이어는 user interface, 모듈화 되어 단지 자신의 하위 층들의 서비스와 기능(연산)들만을 사용하도록 선택된다.
- Micro kernel : 대부분의 프로세스들을 user영역으로 보내어 최소화 하였다. , 가장 중요한 기능은 다양한 프로세스들간의 통신 설비를 제공하는것
장점
ㅁ 확장하기 용이하다.
ㅁ 새로운 architectures에 적용하기 용이하다.
ㅁ 믿을만 하다(코드가 짧아)
ㅁ 보안이 강하다(왜?; 실행하는것들이 대부분 user의 영역이기때문에)
Virtual Machines(가상 머신)
- 계층적 접근 방법은 가상 머신의 개념에서 그 논리적인 결론을 맺되 되었다.
가상 머신은 하드웨어와 운영체제 커널을 하나의 하드웨어처럼 간주한다.
- 가상 머신은 어떤 부가적인 기능을 제공하는 것이 아니라, 아래 깔려있는 순수한 하드웨어와 동일한 인터페이스를 제공하는 데 있다.(일반적인 시스템호출과 파일 시스템같은 부가적인 기능을 가지고 있는 프로세스와 달리)
- 운영체제는 각 프로세스가 자신의 전용(가상) 메모리를 갖는 전용 처리기에서 수행되는 것처럼 환상을 낳는다.
Java Virtual Machine
- 컴파일된 자바 프로그램들은 JVM으로 환경중릭적인 바이트코드를 시행시킨다.
- JVM 구성요소
ㅁ class loader
ㅁ class verifier
ㅁ runtime interpreter
- Bytecode를 그 환경에 맞는 기계어로 변환후 실행하는것이 JIT(Just-In-Time)컴파일러이며 이것은 성능을 증가 시킨다.

Comments List
留