IT/Linux

리눅스 마스터 - 운영체제 주절주절

오달달씨 2023. 8. 30. 15:36
728x90
반응형

운영체제의 정의

사용자와 하드웨어 간의 상호작용을 위해 사용자 인터페이스를 제공하는 시스템 소프트웨어

컴퓨터의 중앙처리장치cpu, 메모리 및 주변 장치 등 하드웨어를 효율적으로 관리

응용 프로그램이 동작할 수 있는 환경, 즉 프로그래밍 인터페이스를 제공

User -> shell -> kernel -> hw

컴퓨터 : 입력장치 + 처리장치 + 출력장치 + 저장장치

운영체제의 목적 : 사용자의 입력을 받아서 결과를 잘 보여주는 것

일정 시간 동안 처리하는 일의 양을 의미하는 처리능력의 향상을 목적으로 한다.

주어진 문제를 정확하게 처리하는 정도를 뜻하는 신뢰도의 향상을 목적

이용할 수 있는 시스템의 자원이 어느 정도인가를 의미하는 사용 가능도의 향상을 목적

운영체제의 역할 : 하드웨어 제어, 입력, 출력, 처리 등의 관리

한정된 하드웨어 자원을 효율적으로 사용할 수 있게 한다.

한정된 자원의 용량을 효율적으로 사용하기 위한 자원 스케줄링을 제공, 오류 복구 기능 제공, 데이터를 조직화하고 저장할 수 있는 파일 관리 및 데이터베이스 기능을 제공, 원격의 컴퓨터와 연결할 수 있는 네트워크 기능도 제공

편리한 사용자 인터페이스를 제공

운영체제의 구조 :

하드웨어(입력, 출력, 처리, 저장 장치) > 커널[하드웨어 추상계층](커널, 하드웨어 관리, 파일시스템, 프로세스, 메모리관리, 리소스관리, 보안, 에러처리, 하드웨어제어, 사용자관리) > 시스템 콜(, 응용 프로그램, GUI, 배치) > 사용자

운영체제의 기능 :

프로세스, 메모리, 장치I/O 등 리소스 관리 기능, 자원의 효율적인 사용을 위한 스케줄링 기능, 하드웨어 관리, 네트워크 관련 기능, 파일 및 데이터베이스를 통한 자원 공유 기능, 무분별하게 접근하는 것을 방지하는 기능, 디스크 및 파일시스템과 같은 시스템 손상이 있는지 점검하는 기능과 복구하는 기능, 유휴 시간을 최소화 하기 위해 가상화 기능

운영체제의 운용 기법

1.     일괄 처리 시스템. 여러 작업을 한번에 묶어서 처리. 작업을 처리하기 시작하면 결과가 나올 때까지 대기. 자원 사용의 효율성이 떨어짐.

2.     다중 프로그래밍 시스템. 하나의 작업이 입출력 중일 때 다른 적업을 할당하여 CPU 사용률과 처리량을 향상시키는 운용 기법. 하나의 cpu지만 동시에 여러 프로그램이 실행됨.

3.     시분할 시스템. 일정 작업 시간 동안 작업을 실행하고, 시간이 모두 만료되면 대기 큐에서 다음 작업을 실행하는 운용 기법. 응답/반응시간 단축, 다중 사용자 지원.

4.     다중 처리 시스템. 병렬 처리 시스템, 비대칭적 다중처리와 대칭적 다중 처리 유형으로 나눌 수 있다. 비대칭적 다중처리는 프로세스 간 주종 관계가 있으며 주 프로세스의 명령에 따라 종 프로세스가 작업을 처리.

5.     실시간 처리 시스템. 수행 결과가 나올 때까지 요구한 시간 안에 수행해야 하는 시간적 제약을 갖는 운용 방식. 시간적 제약에 따라 경성 실시간 처리 시스템, 연성 실시간 처리 시스템으로 나뉜다.

6.     다중 모드 시스템. 일괄 처리, 다중 프로그래밍, 시분활, 다중 처리, 실시간 처리 시스템 모두 혼용하여 사용할 수 있는 운용 시스템.

7.     분산 처리 시스템. 통신망을 연경하고 시스템이 수행해야 할 작업을 분산하고, 각 시스템의 자원을 공유하여 처리량과 응답시간, 가용량을 극대화하기 위한 시스템. 클라우드 시스템, 대용량 처리 시스템 (ex. 넷플릭스).

운영체제의 사례

1.     윈도우

2.     Macos

3.     리눅스. 핀란드 학생 리누스 토발즈가 386컴퓨터에 유닉스에 호환되는 운영체제를 개발함. 첫 정식 버전은 0.02이며 0.01은 일반인에게 공개되지 않음. 서버로 많이 사용하고 있음.

4.     유닉스

5.     안드로이드. 리눅스 커널을 기반으로 만들어진 os. 구글에서 인수한 후 200711월에 무료 공개. c/c++ 라이브러리 제공하고 안드로이드 런타임을 기반으로 하여 동작. 안드로이드는 스마트폰 및 모바일 기기를 위한 미들웨어, 사용자 인터페이스, 웹 브라우저, 이메일 클라이언트, 메시지 등의 표준 응용 프로그램을 포함하고 있는 일종의 소프트웨어 스택. 안드로이드 런타임이라는 가상 머신을 제공하며, 이전에는 달빅을 사용하였으나 이제는 차용하지 않음. 자바와 코틀린으로 개발된다.  

6.     Ios, watchos, ipados, tvos

7.     타이젠. 인텔과 삼성의 주도로 리눅스 기반 오픈소스 모바일, 웨어러블 운영체제. 타이젠폰 개발을 사실상 중단. 스마트 tv나 스마트워치에 탑재

8.     임베디드 리눅스. 라즈베리파이, 아두이노도 이것의 일종. webOS도 있음.

9.     Rtos. 소형 저출력 엣지 디바이스를 쉽게 프로그래밍, 배포, 보안, 연결 할 수 있는 os

10.  경량os. Contiki. TinyOs, RIOT

728x90
반응형