오늘 한일
- 운영체제
운영체제 또는 오퍼레이팅 시스템(operating system)은 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다. 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공한다.
- 운영체제의 종류
- 싱글태스킹 운영체제 / 멀티태스킹 운영체제 : 싱글 태스킹 운영체제는 한번에 오직 하나의 프로그램만 실행할 수 있으나 멀티태스킹 운영체제는 하나 이상의 프로그램이 동시에 실행할 수 있게 한다.
- 단일 사용자 운영체제 / 다중 사용자 운영체제 : 단일 사용자 운영체제는 사용자 구별이 없으나 여러 프로그램이 나란히 실행하는 것은 허용한다. 다중 사용자 운영체제는 디스크 공간과 같은 리소스와 프로세스를 식별하는 기능을 갖춘 멀티태스킹의 기본 개념을 확장하며, 여러 사용자에 속해 있으면서 여러 사용자가 동시에 시스템과 상호 작용할 수 있게 한다.
- 분산 운영체제 : 분산 운영체제는 구별된 컴퓨터 그룹을 관리하고 이들이 마치 하나의 컴퓨터인 것처럼 보이게 만들어 준다.
- 판형 운영체제 : 운영체제에서, 배포 형식 및 클라우드 컴퓨팅 환경에서 판형은 하나의 가상 머신 이미지를 게스트 운영체제로 만드는 것을 가리키며, 실행 중인 여러 개의 가상 머신을 위한 도구로 이를 저장한다.
- 임베디드 운영체제 : 임베디드 운영체제는 임베디드 컴퓨터 시스템에서 사용할 수 있게 설계되어 있다. PDA처럼 조그마한 기계에 동작하도록 설계되어 있으며 ,제한된 수의 자원으로 동작한다. 매우 크기가 작고 극히 효율적으로 설계되어 있다.
- 실시간 운영체제 : 실시간 운영체제는 특정한 짧은 시간 내에 이벤트나 데이터의 처리를 보증하는 운영체제이다.
- 라이브러리 : 라이브러리 운영체제는 네트워크 등 일반적인 운영체제가 제공하는 서비스들이 라이브러리 형태로 제공되는 것을 의미한다.
- 운영체제의 구조
운영체제는 많은 부분을 이룬다. 가장 중요한 요소 가운데 하나가 커널인데, 커널은 일반인이 일반적으로 보지 못하는 낮은 수준의 프로세스를 제어한다. 얼마나 메모리를 읽고 쓸 것인지, 어느 프로세스를 실행할 것인지, 모니터, 키보드, 마우스와 같은 장치를 통해 어떠한 정보를 주고받을 것인지, 네트워크를 통해 받은 정보를 어떻게 해석할 것인지를 제어한다.
- 프로세스와 스레드
- 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위
- 스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위
어려웠던 점
- 운영체제에 대해 알아보았지만 실제 내가 짠 코드로 만든 프로그램이 알아본 것 처럼 작동하는지 이해하기 어려웠다. (운영체제에 대해 더 자세히 공부하고 어떻게 효율적으로 코딩을 할 지 알아보면 좋을 것 같다.)
오늘의 TIP
- 최근에 운영체제는 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저(가상 머신) 위에서 실행되기도 한다.
'TIL' 카테고리의 다른 글
TIL#60(캐시/대기열 - Redis) (0) | 2024.07.19 |
---|---|
TIL#59(Endian) (0) | 2024.07.18 |
TIL#57(커넥션 풀) (0) | 2024.07.15 |
TIL#56(메모리) (0) | 2024.07.10 |
TIL#55(CPU) (1) | 2024.07.09 |