오늘 뭐했냐/개발에 대한 주저리

23.09.04 운영체제(Operating System, OS)

스스로에게 2023. 9. 10. 20:52

운영체제는 컴퓨터 시스템의 핵심 소프트웨어로서 하드웨어와 응용 프로그램 간의  중간 역할을 한다. 인터페이스를 제공하고, 컴퓨터 자원을 효율적으로 관리하며, 사용자 및 응용 프로그램에 서비스를 제공하는 소프트웨어 시스템이다. 이를 통해서 하드웨어의 복잡성을 숨기고 효과적으로 컴퓨터를 사용할 수 있다. 다양한 운영체제가 존재하며, 그중에서도 윈도우, 리눅스, macOS 등이 널리 사용되고 있다.

 

  1. 자원 관리: 운영체제는 하드웨어 자원(중앙 처리 장치, 메모리, 디스크, 네트워크 등)을 관리하고, 다양한 응용 프로그램 및 프로세스 간에 공정한 자원 분배를 담당한다. 이를 통해 시스템 자원의 효율적인 활용을 보장한다.
  2. 프로세스 관리: 프로세스는 실행 중인 프로그램을 나타내며, 운영체제는 프로세스를 생성, 스케줄링, 일시 중지, 종료 및 관리한다. 추가로 다중 프로세스 환경에서 프로세스 간의 협력과 통신도 지원한다.
  3. 메모리 관리: 운영체제는 메모리를 관리하여 프로세스가 메모리를 할당받고 사용할 수 있도록 한다. 이는 가상 메모리, 페이지 교체, 메모리 보호 등을 포함한다.
  4. 파일 시스템 관리: 파일 시스템을 통해 데이터를 저장하고 관리한다. 운영체제는 파일 생성, 읽기, 쓰기, 삭제, 보안 및 권한 관리 등을 담당한다.
  5. 입출력 관리: 입출력 장치(키보드, 마우스, 프린터, 디스크 등)와의 상호 작용을 관리하고, 입출력 요청을 스케줄링하여 처리한다.
  6. 사용자 인터페이스: 운영체제는 사용자와 컴퓨터 간의 상호 작용을 가능하게 하는 그래픽 사용자 인터페이스(GUI) 또는 명령줄 인터페이스(CLI)를 제공한다.
  7. 보안 및 권한 관리: 시스템의 안전성을 보장하기 위해 접근 권한 및 보안 정책을 관리하고, 사용자 및 프로세스 간의 보안을 유지한다.
  8. 네트워크 관리: 네트워크 연결과 통신을 관리하여 다른 시스템과의 데이터 교환을 지원한다.
  9. 오류 처리와 회복: 시스템 및 응용 프로그램에서 발생하는 오류와 장애에 대한 처리와 회복 기능을 제공한다.
  10. 시스템 성능 모니터링: 운영체제는 시스템 자원 사용량, 성능 통계 등을 모니터링하여 시스템 성능을 최적화하고 문제를 진단한다.

당연하게 썻던 운영체제인데 내가 개발을 하면서 이게 어떻게 돌아가는지 왜 쓰는지 알고 있어야겠다.