Home intro of OS
Post
Cancel

intro of OS

OS


운영체제는 사용자와 컴퓨터 사이에서 하드웨어 사이에서 작동하는 시스템이다. 운영체제의 목표는 다음과 같다.

OS
자원관리
자원 보호
하드웨어 인터페이스
사용자 인터페이스
효휼성
안정성
확장성
편리성
  • Performance
    • Throughput — jobs/sec
    • Utilization — % of time busy
    • Response time — sec / job

os는 크게 3개로 나누어진다.

OS
kernel
shell
utility
  • kernel
    • memory resident part of OS, just plain C program
  • utility
    • command, disk resident part of OS (loaded on demand )
    • job
    • 유저가 요청하면 메모리에 올라감
  • shell (CLI / GUI)
    • A special utility. It’s mission is Job Control
    • read keyboard input & excute command (interpreter)
    • UNIX interface to user. Shell prompt & command
  • File
    • Sequence of bytes, no other restrictions
    • I/O devices are treated as files in Unix, Linux ( /dev )

Kernel - Shell - Utilities


  1. 처음 컴퓨터가 부팅되면 kernel이 메모리에 올라온다.
  2. 유저가 터미널을 켜면 shell 이 메모리에 올라온다.
  3. 커맨드가 입력되면 utility가 메모리에 올라와 실행된다.

kernel of linux 강의노트

Multi-user


리눅스는 윈도우와 달리 multi-user 시스템이다.
이로 인해 리눅스는 자원을 최소화하는 형태를 보인다. 예로 CUI를 들 수 있다. 또한 유저 간 간섭이 되지 않도록 protection 이 중요해진다.

Protection & SystemCall


  • 사용자 A의 프로그램이 B의 허용되지 않은 메모리에 접근하여 read, write를 못하게 막아야한다.
  • 이를 해결하는 방법으로 응용프로그램 / utility 가 직접 I/O 를 못하게 만들었다.
  • 즉 I/O instruction은 커널이 담당하며, systemcall이라는 요청을 통해 수행된다.
    • 이때 kernel은 I/O 명령을 검사한 뒤에 실행한다.

응용프로그램과 커널 사이 인터페이스를 systemcall ,
커널과 하드웨어 사이 인터페이스는 driver가 담당한다.

This post is licensed under CC BY 4.0 by the author.