INK study
article thumbnail

Monolithic Kernel, Microkernel

사용 예시 : 상용화된거는 대부분 monolithic kernel.
Microkernel은 성능이 좋진 않아서 windows에서만 일부 사용

1. monolithic kernel

-> OS 안에 들어 있는 s1 s2 s3

  • 바뀐 os 바이너리는 어디에 저장? → 보조기억장치에 저장 (파일 형태) → 메인메모리로 들어오는과정 = 부팅

S1,s2각자가 하드웨어 의존적인 부분이 있을 수 있으므로 여러군데 고쳐야함 - 다 뜯어서 고칠 수 밖에 없음

 

 

 

 

2. micro kernel

-> S1,S2,S3가 운영체제 밖으로 나와있음.

컴퓨터를 끌 필요가 없음 - 부팅 안해도 바꿀 수 있는 s1 s2.. 각자가 자체적으로 수정 가능

  • 굉장히 편리하게 수정하기 좋다 → 연구를 많이 했는데… 근데…?
  • 결국 s1이 유저 프로세스이므로 s1말고 비슷한 거로 대체가 가능하다. Portability(다른 하드웨어를 가진 컴퓨터에 이식하는것)이 굉장히 좋다.
  • 하드웨어 제어는 모두 연노랑 부분 (os)에 남겨 놓음

→ 근데 단점이 커서 안씀 왜?? 밑에서 다룰게

 

더보기

<장점>

  • 내부
  • 확장성
  • 유연성
  • User process
  • 운영체제 입장에서 자기 위에 돌아가고 있는 건 모두 급이 떨어져 보임 - user process처럼 보임

<단점>

  • Performance - monolithic kernel 보다 느림
    • interprocess communication이 필요
    • 서버용 컴퓨터 (ex 슈퍼컴퓨터, 고성능 컴퓨터)에서 굉장히 느려짐
    하드웨어가 빨라지면 micro도 빨라질 것이다? → 응 monolithic이 더빨라져

 

 

 

 

Operating System의 예시

  • UNIX
  • LINUX
  • WINDOWS
  • mobile device
    • Rex, symbian, linux, linux + android, ios …
  • Real-time OS : 냉장고 속 컴퓨터 (내장형 시스템 - 일반 PC와 기능이 다름)
    • 무조건 빠르다고 실시간 운영체제인 것이 아니다.
    • 벌어진 일에 대해 빠르게 처리하는 것이 실시간 컴퓨터이고 그것에 사용되는게 실시간 운영체제
    ex) 의료기기 (맥박 긴급 상황 대처)
  • 임베디드 시스템에 사용

1. UNIX 운영체제

 💡 C언어 최초 사용, monolithic kernel

Multics → UNIX → Minix → Linux

더보기
  • Unix의 historyGE라는 가전 회사, bell Lab , AT&TMultics 개발한 팀 다시 모임→ high level 언어로 쓰자…… - c언어 개발 → unix 개발 → c언어는 컴파일만 하면 됨
  • Assembly 언어로 개발했었음 - 코드가 달라지게 되면 똑같이 전부 다 다시 짜야됨
  • AT&T가 ge가 협동해서 multics를 개발 -근데 상업적으로 성공 못함 → os 덩치가 커서 느려서 두 회사 헤어짐
  • Unix이전과 이후로 나뉜다. Unix 이전에도 os는 많았는데 multics는 나이스한 os 개념을 보임. → os와 프로그램 실행 원칙이 multics에서 나타남
  • C언어로 작성
  • IBM 하드웨어가 변할 때마다 운영체제가 바뀌는건 힘든일이고 시간이 오래걸린다. → UNIX를 만든 후 (high language)C언어 소프트웨어를 다른 하드웨어 위해 포팅 가능. → 운영체제를 그대로 사용하면서 하드웨어를 사용 가능하며 혁신을 이룸 → shell
  • AT&T가 unix를 판매 어려워지면서 학교에 배포, 연구
    • BSD (버클리 소프트웨어 distribution) 개발 - 이거 지금은 안씀
    • System 3, system4… 로 발매

2. LINUX 운영체제

 💡 monolithic kernel 형식으로 제작

  • unix를 pc에서도 사용하고자 개발
  • Linux가 1991년 처음 인터넷에 게시됨
  • highly modular , easily configured

User level(os 외부), kernel level(os 내부),

 

  • 목적 : 빠른 실행시간 → micro kernel 사용안함

2. Windows 운영체제

 💡 micro kernel , user-mode processes

  • user-mode processes

 

profile

INK study

@ongsimi_

읽어주셔서 감사합니다!