운영체제(OS)는 컴퓨터 하드웨어 자원을 관리하고 사용자와 하드웨어 간의 인터페이스 역할을 하는 시스템 소프트웨어다. (주요 하드웨어 자원 : CPU, Memory, I/O device 등)
운영체제는 이러한 하드웨어 자원을 효율적으로 관리하고 공유하여 사용자가 편리하게 기기를 사용할 수 있게 해준다. 컴퓨터 뿐만아니라 운영체제는 어느 기기에서 어떠한 형태로든 나타날 수 있다.
공급되는 시장과 용도에 따라 embedded System, server, mobile, desktop 4개의 용도로 운영체제를 설명함.
내장형 시스템이라는 뜻으로 수많은 용도로 사용되는 컴퓨터가 아닌 키오스크,네비게이션, CCTV, 세탁기, 냉장고,블루투스 이어폰 과 같이 단일목적의 마이크로 컨트롤러 시스템.(중요도가 낮아 OS에 대한 종류는 생략)
서버용 운영체제는 Linux, UNIX(BSD,솔라리스 등), Windows, macOS 등이 있다.
macOS의 경우 과거에는 서버용 macOS가 따로 있었으나 현재는 하나로 통합되고 앱스토어에서 별도의 툴을 판매중. mac 중심의 웹 애플리케이션을 운영하는데 사용.
Windows Server는 ms에서 개발한 서버용 OS이고 .NET프레임워크 등 ms 기술과의 통합이 원활.
Linux: 오픈소스 운영체제로 devian, ubuntu, RHEL(Red Hat Enterprise Linux)등이 있고 높은 안정성과 보안성이 특징. 끊임없이 업데이트, 개선이 이루어진다. 서버의 용도와 환경에 따라 다양한 커스터마이징이 가능.
mobile OS는 스마트폰, 태블릿 등의 OS다.
대표적으로 Android(Linux 계열), IOS(BDS 계열)이 있다.
Windows, macOS, Linux가 대표적이다.
Windows
세계적으로 가장 많이 쓰임. 안정적이고 표준적 GUI.
개발 및 배포 모델 : 상업적 모델을 통해 개발, ms에서 관리 및 배포
파일 시스템 : 주로 NTFS와 FAT32를 사용
보안 및 권한 관리 : 권한을 관리자 계정과 사용자 계정으로 분리하고 UAC(사용자 계정제어)를 사용하여 권한 승인을 요청.
소프트웨어 저장 및 설치 : 일반적으로 .exe 또는 .msi 파일을 다운로드하여 설치. Windows 스토어 통해 앱설치도 가능.
Mac OS
개발 및 배포 모델 : 상업적 모델을 통해 개발, Apple에서 관리 및 배포
파일 시스템 : 주로 APFS 또는 HFS+를 사용
보안 및 권한 관리 : Linux와 유사한 권한 시스템을 가지고 있지만 사용자 경험에 중점을 두며 일부 자동화된 권한 관리 기능을 제공
소프트웨어 저장 및 설치 : App Store를 통해 애플리케이션을 설치, dmg 또는 pkg 파일을 통한 기존 설치 방법도 지원
Linux
Unix로 개발된 커널/OS 이다.
Linux는 커널과 OS 사이에 혼동이 오는데 커널은 OS의 핵심서비스를 관리하는 구성요소 일뿐이며, 커널 위에 사용자 정의의 application들과 utility가 추가되면서 OS로 불리운다.
그러므로 OS는 커널 공간과 사용자 공간으로 구성되어 있다고 말할 수 있다.
따라서 리눅스 자체는 FileSytem utilities, Windwing systems, Graphical desktops, System administrator commands, Text editors, Compilers 등과 같은 사용자 정의의 어플리케이션을 포함하지 않고 핵시 서비스만으로 구성되어 있기 때문에 "커널" 이라고 생각할 수 있다.
그러나 리눅스 커널에 다양한 확장 Applications를 추가한 ubuntu, suse, centOS, redHat 등과 같은 OS를 제공한다.
개발 및 배포 모델 : Linux는 오픈 소스 프로젝트로 시작 수많은 개발자와 커뮤니티의 참여로 계속 발전 누구나 소스 코드를 다운로드하여 수정하거나 자신만의 Linux 배포판 제작 가능
파일 시스템 : 여러 종류의 파일 시스템(EXT4, Btrfs, XFS 등)을 지원, 사용자는 필요에 따라 선택하여 사용 가능
보안 및 권한 관리 : 각 파일과 프로세스에 대한 세분화된 권한 관리가 가능, 기본적으로 루트 사용자를 제외한 대부분의 사용자에게 제한된 권한을 부여. SELinux와 같은 보안 확장 기능도 제공
소프트웨어 저장 및 설치 : 대부분의 배포판에는 중앙 소프트웨어 저장소가 있어 패키지 관리자를 통해 프로그램을 쉽게 설치하거나 업데이트 가능
Ubuntu
많은 리눅스 배포판 중 우분투를 추천하는 이유는 역시 범용성 때문이다. 그래도 그나마 가장 안정적인 GUI 시스템을 보유하고 있고, 많은 리눅스 인구가 사용하고 있기 때문에 같은 오류를 겪었던 사람을 쉽게 찾을 수 있다. 또한, 구글링을 했을 때 정답을 확인할 수 있는 확률이 윈도우보다 더 높다