What is an Operating System?

L01
What is an Operating System?
- operating system이란?
- 유저와 하드웨어 사이의 인터페이스
- 모든 어플리케이션의 공통 분모
- Processes, CPU scheduling, memory, management, file system, networking 이런 것들이 포함 → 즉 동시에 여러 프로그램을 실행하고, 프로세스들 간의 통신도 중재해줍니다. CPU 스케줄링과 자원 관리를 통해 모든 프로세스가 공평한 기회를 얻을 수 있게 해줍니다. 메모리도 프로세스에 효율적으로 할당되고, 디스크에서 필요한 데이터를 읽고 쓸 수 있게 해주는 것 입니다.
- os 목표?
Why Study Operating Systems?
- 추상화(Abstraction)란?
- 현실 세계를 컴퓨터 도메인 안에 넣는 것 ex) 종이 출석부를 전자 출석부로 바꾼 것 → OS가 가상환경을 만들어줘서 CPU나 메모리가 무한한 것처럼 느껴지게 해줍니다.
이런 가상화 덕분에 여러 프로그램들이 동시에 실행되고 자원들을 공유할 수 있게 되는 것 입니다 !
- 시스템 디자인이란
- 추상화의 성능과 편리성
- 운영 체제의 성능과 단순성
- 하드웨어 또는 소프트웨어에서의 기능성
- Primary intersection point
- 하드웨어, 소프트웨어, 언어, 자료구조 등등 모든 게 다 얽혀있음
Modern OS Functionality
5가지에 대해서 서술하시오..
- Concurrency
- 컴퓨터 안에서 여러 프로세스들(NOT processor)이 동시에 활동하는 것을 의미한다. 이 프로세스들은 #소통 도 하고, 가끔 #제가먼저갈게요 이런식으로 한다. 그래서 CPU 스케줄링과 자원 관리는 놀이공원 직원처럼 도움을 주는 역할을 한다.
- Memory management — allocate
- 메모리 관리는 놀이공원에 들여보내고, 데리고 나오는 것을 관리 하는 것 이라고 생각하면 된다. 어떤 메모리는 잠시 휴식 공간.. 즉 디스크로 들어갔다가 다시 놀이공원인 메모리로 돌아오기도 하는 것 처럼..
- File system
- 파일 시스템은 놀이공원의 사물함이라고 생각하면 된다. 놀이공원 가면 짐 안전하게 보관 해야하는데 여기서는 프로그램과 데이터가 된다. 그래서 이런 것들을 안전하게 보관할 수 있도록 공간 할당을 해주는 것 !!
- Networks and distributed computing
- 이건 에버랜드랑 롯데월드가 협력해서 대규모 축제를 열거나 서로 놀이공원에 놀러 갈 수 있게 해주는 것이다라고 이해
- Security & protection