# 운영 체제 : 컴퓨터 과학 특강 # 18

just develop it!·2024년 12월 4일

https://www.youtube.com/watch?v=26QPDBe-NB8&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo&index=20

Virtual Memory

Virtual Memory: 실제 사용되는 메모리는 흩어져있지만 이것을 가상화하여 추상화하고 숨긴다. 따라서프로그램은 0번부터 차근차근 사용한다고 행각한다.

(실제 사용되는 A 프로그램의 메모리는 0번부터 999, 1000번부터 1999이 아니라 0번부터 999, 2000부터 2999일 수 있다는 것이다. 그렇지만 이것은 메모리 관리의 혼란을 야기한다.)

이것은 동적 메모리 할당을 가능케한다. 프로그램 자체에 메모리를 할당하는 것이다. 또한 서로로부터 격리되게 해준다.

Memory Protection

Memory Protection: 버그가 있는 프로그램이 잘못되어 문제가 발생할 수 있는 표현을 write 를 하면 다른 프로그램의 메모리가 아닌 자신의 메모리를 버리는 데에서 그칩니다. 이 기능을 메모리 보호(Memory Protection)라고 합니다.

이것은 바이러스와 같은 악의적인 소프트웨어로부터 보호하는 데에도 유용합니다. 

Time Sharing

운영체제는 시간 공유 기능을 제공하도록 개발되었습니다. 

컴퓨터의 성능이 좋아지면서 컴퓨터 한 대에 터미널 PC 가 50대가 붙어 사용했었습니다. 터미널 PC는 자체적인 컴퓨팅 기능은 없으며 모니터 화면만 있을 뿐이었죠.

Unix

Multics 연구원인 Ken Thomson과 Dennis는 Multics를 파업하고 Unix 구축

OS 를 두 부분으로 분리

  • 커널: I/O 를 다루는 기능인 메모리 관리, 멀티 태스킹과 같은 OS의 핵심 기능
  • 프로그램과 라이브러리 같은 유용한 도구들

커널을 만드는 것은 의도적으로 일부 기능만 남겨두어 군살없게 만들었습니다. Multic 에서는 코드의 절반이 에로 복구일 정도였는데, 이러한 것들을 들어냈습니다.

유닉스는 대신에 오류가 발생하면 패닉이라고 하는 루틴을 갖게 됩니다. 패닉이 발생하면 그냥 Reboot 를 해버릴 뿐이죠.

Microsoft의 디스크 운영체제 MS-DOS는 160 킬로바이트에 불과했다.

profile
안티프래질!

0개의 댓글