해당 게시글은 kocw에서 제공하는 금오공과대학교 최태영 교수님의 무료 강의를 공부하고 정리하기 위해서 만들어졌습니다.
운영체제가 제공하는 기능
- 프로세스를 만들고 죽이는 기능
- 경우에 따라서 프로세스를 잠시 멈추고 다시 재개하는 기능
- 하나의 프로세스는
- cpu를 사용해 실행 되어야 하고
- 프로세스가 올라가고 변수를 사용하기 위한 메모리 영역도 필요하며,
- 입/출력을 통해 실행 결과를 내야한다.(주로 file)
- 요즘은 thread를 사용하여 프로세스의 영역을 쪼개서 사용하기도 한다.
- process synchronization
- 메모리 관리
- File system management
- device
- Protection and Security
- 자원을 사용자에 따라 막는 것(protection)
- Security와 Protection의 차이
- Protection은 내부에서의 접근을 막는 것
- Security는 외부에서의 접근을 막는 것
- 운영체제 내에서 쓰이는 자료 구조
- linked list
- doubly linked list
- balanced binary search tree
- hash
현대의 네트워크 시스템과 관련된 컴퓨터 시스템 구조
- Mobile
- 스마트폰
- 특별한 I/O device에 종속된 형태로 사용된다.
- Client-Server
- client가 필요한 것을 요청하고
- client가 원하는 데이터를 전달해주는 서버가 존재하는 형태
- peer to peer
- 중앙 서버 형태를 벗어나 각각의 client가 서버가 되는 개념을 뜻한다.
- Virtualization
- virtual machine에서 발전한 구조
- 가상 머신을 통해 사용자가 버전을 페치받고
- 버전 페치 동안 낮은 버전으로 사용하다가 페치 완료후 하드웨어를 재부팅 하는 형식으로 사용된다.
- emulation
- Cloud Computing
- 굉장히 큰 규모이다.
- 예전에는 클러스터 서버들을 연결한 portal을 두고
- 사용자는 portal에 요청하는 형식
- 이것을 grid computing이라고 한다.
- 이러한 구조들은 너무 복잡하여 일반 사용자가 사용하지 힘들었다.
- 이것을 개선하기 위해 클러스터 서버와 portal 등을 감싼 virtual machine을 올리고 API를 통해 사용자에게 제공하기 시작했다.
- 이것처럼 가상화 시켜서 사용자에게 제공하는 형태를 Cloud Computing이라고 한다.
- Big data
- Cloud Compting을 사용하여 큰 용량의 데이터를 처리하여 쉽게 결정할 수 있는 데이터를 제공하는 것을 big data라고 한다.
- Real-Time Embedded System
- 굉장히 작은 규모이다.
- 자동으로 빛을 감지하는 기능들
- 집에서 자동온도 조절하는 기능들
- 시간 관리를 철저히 하기 위한 시스템이다.(real-time)
- 자동차 자동 운전 시스템 등
- 병원 원격 수슬 등
- 사람의 목숨과 관련된 시스템들이 많다.
- Open-source Operating System