커널 및 인터페이스
- 운영체제(OS)는 커널과 인터페이스를 분리
- 같은 커널에 다른 인터페이스를 분리함으로써 같은 커널에 다른 인터페이스 사용 가능
( 같은 커널 위에 다양한 인터페이스를 사용 가능, 즉 하나의 커널 위에 여러 종류의 사용자 인터페이스를 사용 가능)
커널
- 메모리 관리, 프로세스 관리, 저장장치 관리 등 운영체제의 핵심적인 서비스 담당
인터페이스
- 사용자의 명령 전달 및 해당 명령의 실행 결과를 알려주는 역할 수행
시스템 호출
- 시스템 호출(System Call)을 통해 프로세스가 하드웨어에 직접 접근하여 기능을 제공
- 사용자나 프로그램이 컴퓨터 자원에 대해 직접적으로 접근하지 못하도록 제한
- API (라이브러리 함수)를 통해 사용(성능, 속도)
드라이브 (장치 드라이버(관리자), 소프트웨어라고 보면됨)
- 운영체제와 디바이스(키보드, 마우스, 디스크, 프린터 등)가 상호 작용할 수 있도록 하는 소프트웨어 구성 요소
- 디바이스 제작 회사마다 별도 드라이버 (S/W)
커널의 종류
1. 단일형 커널 (monolithic kernel)
- 입/출력, 네트워크, 주변 장치 관리등의 운영 체제에서 일어나는 모든 일들을 한 개의 커널이 처리하는 방식
단일형 커널 운영 체제
- 리눅스 커널
- UNIX 계
- MS-DOS 및 Window s9x(Window 95, 98 등)
2. 마이크로 커널 (micro kernel)
- User와 Kernel 구간을 분리
- 핵심적인 기능 (스케줄링, 메모리 관리 등)만 커널에 담고 나머지는 제외
- 안정성을 높이고 크기를 줄인 설계 방식
마이크로 커널 운영 체제
- LAmagaOS
- L4 (스위치)
- Mach
- Amoeba
- 심비안 (노키아 등 핸드폰 운영체제로 사용)
- 지르콘
3. 혼합형 커널 (hybrid kernel)
- 최근에 많이 사용
- 마이크로 커널에 단일형 커널의 장점을 혼합해 만든 설계 방식
- 단일형과 유사
혼합형 커널 운영 체제
- NT 커널 (대부분의 윈도우 운영체제)
- NXU
- BeOS (하이쿠 운영체제)
- DragonFlyBSD
- Plan 9
운영 체제의 설치 및 활용 (Windows / Linux)
1. Windows 계열 운영 체제
- 개인용, 기업용, 워크스테이션용으로 출시
- Windows Home, Pro, Workstation 등 과거에는 개인용, 기업용 등 나눴으나 현재에선 윈도우 운영체제라고 통일해서 사용
2. Linux 계열 운영 체제
- 오픈소스 (개인, 회사 등 모두 무료로 사용)
- Debian, Fedora, Ubuntu, CentOS 등
- DOS(명령프롬프트)를 사용하여 동작
- Ubuntu는 개인이 가장 많이 사용하며, GUI 환경을 제공
- CentOS(REDHAT) 통상적으로 서버 운영체제로 가장 많이 사용 (CentOS는 지원 종료로, RockyOS로 넘어가는 추세)
운영 체제 운용 (Working)
- 외부 침입또는 바이러스로 인한 시스템의 통제 불능 상태를 방지하기 위해 시스템(서버/PC)에 대한 개별 운영 체제 운용 기준을 수립함 (컴퓨터를 작동 잘 시키고 운영할 것인가?)
1. 서버 운용 기준
- 운용 아키텍처, 기능 파악
- 시스템 복원 기능 활성화
- 장비 가동, 중지 매뉴얼 확인
- 네트워크 구성 현황 및 장비 매뉴얼 확보
- 최신 보안 업데이트 유지
- 문제 발생 시 대처 방안 마련
2. 개별 PC용 운영체제 운용 기준
- 정기적인 데이터 백업 및 주기적인 보안 업데이트
- 주기적으로 시스템 백업
- 문제 발생 시 대처를 위한 문의처 정보 확인
대표적인 운영체제
1. Windows
- 마이크로소프트웨어(MS)에서 개발한 컴퓨터 운영 체제
- 가장 많은 점유율 차지하고 있는 운영 체제
특징
- GUI 환경이며, 다수의 해커들에게 공격 대상이 됨
- 사용자에게 최적화가 가장 잘 되어 있는 운영 체제
- 명령의 입력이 아닌 클릭으로 여러 기능 수행
- 유료 운영 체제
2. UNIX
- 미국의 벨 연구소에서 개발한 운영 체제
- 교육/연구 기관에서 주로 사용되는 범용 다중 사용자(Multi_User) 방식의 운영 체제
특징
- 서버 용도 운영 체제로 많이 사용
- 다른 컴퓨터 하드웨어나, 새로운 기종에 쉽게 이식 가능
- 업계 표준의 다양한 보안 기능 탑재하여 위협으로부터 대응 가능
- Windows 운영 체제보다 낮은 하드웨어 호환성
- 다중 사용자 (Multi_User), 다중 작업 (Multi_Task) 지원 (서버로 많이 사용되는 이유)
- 유료
3. Linux
- 소프트웨어 엔지니어스 리누스 토발즈(핀란드)가 개발한 운영 체제
- Unix와 유사한 프레임으로 공개(Open) 운영 체제로, 리눅스 커널 사용
특징
- 독립된 플랫폼 (CPU 종류에 구애 받지 않는 호환성 높은 구동성)
- 무료 오픈 소스 운영 체제
- 다중 사용자 환경 지원
- 기업/개인이 자신만의 운영 체제로 완성 시켜 배포/판매 가능
결론
개발을 할 때는 운영 체제도 중요하겠지만 운영 체제 보다는 사용하는 프로그래밍 언어가 더 중요하다고 생각한다.
그렇지만 보안과 관련된 일을 할 때는 운영 체제가 중요하고, 각 운영 체제 별로 사용하는 명령어를 알아야 작업이 가능하다. 오늘 작성한 내용은 정말 이론적인 것들이고 관련 종사자가 아니라면 사용하지 않는 것이겠지만 자격증 취득 목적이신 분들은 보셔도 될 것같다.
'정보보안 > 시스템 기초' 카테고리의 다른 글
윈도우(Windows) 서비스 및 보안 감사 설정 (0) | 2024.06.03 |
---|---|
윈도우(Windows) 계정 관리 및 계정 권한 (BitLocker) (0) | 2024.06.03 |
윈도우 운영체제 기초 (OLE, NTFS 등 특징 및 레지스트리) (0) | 2024.06.03 |
운영체제 특징 (0) | 2024.05.30 |
운영체제 개요 (0) | 2024.05.29 |