반응형
UNIX의 단점 :
- 너무 많은 OS가 있어서 os 마다 다 다른 unix가 필요했다. 너무 복잡함. 따라서 OS의 통일화가 필요했다.
- 초창기에는 너무 GUI가 없어서 다루기가 어려웠음.(그러나 이후에 MIT에서 GUI있는 UNIX를 개발)
그렇다면 UNIX의 장점은 무엇일까?
- 오픈시스템(오픈소스)
- 간단하다 - data, device, socket, process등 모든것을 그냥 각각 하나의 파일로 취급했다.
- 이식성이 좋다 - 고차원언어(c언어)로 작성되어 재사용성, 이식성이 좋았다.
- 많은 기능 지원 - 멀티태스킹, 멀티프로세싱, 서버-클라이언트 등
이런 장점들을 포괄하고, 단점을 보완하기 위해 나온것이 바로 Linux !
Linux ?
- UNIX같이 생긴 os
- open system, open source ==> 전세계 많은 개발자들이 같이 개발할 수 있었다. 또한 프로그램 실행파일 외에도 원한다면 소스도 공개하여 다른이가 수정할 수 있는 시스템이다.
리눅스의 기능상 장점 ?
여러 기능, 프로토콜, 시스템을 지원한다는것.( 일일이 설명하지 않겠다. 외우지 않기위해서)
리눅스,UNIX 특징 : Kernel을 가지고있다.
System call, Kernel
library의 많은 함수들은 실행되기 위해서 System call을 호출한다. 그리고 System call은 Kernel의 일부이다.
예) printf() : library함수 ---> write() : system call 호출
printf()를 사용하면 kernel에 있는 write()라는 함수를 사용하기 위해 system call을 호출한다.
즉 실제로 C언어를 사용하면서 사용하게 되는 library들은 kernel에 접근하면서 실행하는것.
그렇다면 Kernel mode란?
- kernel 시스템에 접근하는데 제한이 없다. 어떤 instruction도 사용할 수 있으며
- 그렇다는 말은 메모리의 어떤 공간에도 쉽게 접근할 수 있다는 말이며
- 그렇다는 말은 컴퓨터 주변장치에도 쉽게 접근이 가능하다는 말이다.
User mode 와의 차이점(우리가 윈도우에서 사용하는 대부분이 유저모드라고 생각하면 된다.)
- 정해진 메모리에만 접근가능
- instruction 사용에 제한이 있음
- 주변 장치를 사용하는데 있어서 정해진 경로, 정해진 대로만 접근이 가능
- 현재 프로세스에서 다른 프로세스를 건들 수 없다.
- 각 프로세스는 언제든지 인터럽트 당할 수 있다.
반응형
'공부공간 > System programming' 카테고리의 다른 글
[시스템 프로그래밍 강의정리] files and directories -3 (0) | 2020.04.06 |
---|---|
[시스템프로그래밍 강의정리] files and directories - 2 (0) | 2020.04.01 |
[시스템 프로그래밍 강의정리] files and directories (0) | 2020.03.31 |
[시스템프로그래밍 강의정리] ISA와 추상화 (abstraction) (0) | 2020.03.26 |
[시프 강의정리] unix system overview (0) | 2020.03.24 |