운영체제
0. 운영체제란 무엇인가 ??
운영체제(OS, Operating System)
하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어
간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해줌
1. 운영체제의 종류
운영체제는 앞단의 어떤 인터페이스를 두느냐에 따라 GUI와 CUI로 나눌 수 있음
GUI(Graphical User Interface)
- '그래픽 사용자 인터페이스'를 의미
- 아이콘, 버튼, 메뉴 등을 마우스, 터치스크린 등의 포인팅 장치로 조작함으로써 상호작용
- windowOS, macOS등 현대의 OS가 이를 대표
CUI(Character User Interface)
- CLI(Command Line Interface)와 비슷하지만 CLI는 특정 명령어를 직접 입력하여 상호작용
- '문자 사용자 인터페이스'를 의미
- GUI처럼 그래픽 요소를 사용하지 않고, 사용자가 키보드만을 사용하여 문자를 기반으로 컴퓨터와 상호작용하는 인터페이스
- MS-DOS가 대표적, 1994년 단종
2. 운영체제의 역할
운영체제의 커널이 담당
- 프로세스 관리
- 프로세스, 스레드
- 스케쥴링
- 동기화
- IPC 통신
- 저장장치 관리
- 메모리 관리
- 가상 메모리
- 캐싱과 버퍼링
- 파일 시스템
- 네트워킹
- 보안과 엑세스
- 장치 드라이버와 하드웨어 제어
3. 운영체제의 구조
- 유저 프로그램
인터페이스(GUI, CUI)
시스템 콜 (system call)
- 시스템 콜은 운영체제가 제공하는 프로그램이나 사용자에게 시스템 서비스를 요청하기 위한 인터페이스
- 소프트웨어가 운영 체제의 커널 기능에 접근할 수 있는 수단을 제공함
- 파일을 읽거나 쓰기, 프로세스를 생성하거나 종료하기, 메모리를 할당하거나 해제하기 등의 작업을 요청할 때 시스템 콜을 사용
커널 (Kernel)
- 커널은 운영체제의 핵심 부분으로, 하드웨어와 직접적으로 상호 작용하며 시스템의 모든 중요한 관리업무를 수행
- I/O 드라이버 : 입출력 드라이버를 통해 하드웨어 장치와 통신. 드라이버는 각 장치와 데이터를 주고받기 위한 특수코드를 포함
- 파일 시스템 : 이는 디스크나 기타 저장 매체에 데이터를 어떻게 저장하고 관리할 것 인지를 결정하는 시스템의 일부임,
파일 시스템은 파일 및 디렉토리의 생성/수정/삭제 등을 관리함
- 하드웨어