-
[2022.09.23] 운영체제(OS, Operating System)란?TIL 2022. 9. 23. 22:41
운영체제(OS, Operating System)란?
하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며
응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이
유용한 작업을 할 수 있도록 환경을 제공해준다.
즉, 운영 체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록
환경을 제공하는 시스템 소프트웨어라고 할 수 있다.
다시 말하자면 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 역할이다.
운영체제로는 Windows, Linux등이 있으며, 시스템 역할 구분에 따라 각각 용이점이 있다.
운영체제의 역할
1. 프로세스 관리
- 프로세스, 스레드
- 스케줄링
- 동기화
- IPC 통신
2. 저장장치 관리
- 메모리 관리
- 가상 메모리
- 파일 시스템
3. 네트워킹
- TCP/IP
- 기타 프로토콜
4. 사용자 관리
- 계정 관리
- 접근권한 관리
5. 디바이스 드라이버
- 순차접근 장치
- 임의 접근 장치
- 네트워크 장치
각 열할에 자세한 설명
프로세스 관리
운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.
컴퓨터 사용시 게임이나 노래 등을 모두 프로세스에 해당한다.
컴퓨터의 CPU가 하나인 경우 CPU는 한 번에 한 프로세스만 처리할 수 있는데,
이를 동시에 하고 있다고 느낄 수 이유는 운영체제에서 적절한 방식으로
프로세스들을 관리해주기 때문이다.
즉, 어떤 의미에서는 프로세서(CPU) 관리하는 것으로 볼 수 있다.
현재 CPU를 점유해야 할 프로세스를 결정하고,
실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리한다.
저장장치 관리
1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는
하드디스크, HAND 등을 관리하는 기능이다.
메모리는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억 장치이다.
모든 프로그램은 메모리에 올라와서 실행이 된다.
여러 프로그램을 동시에 실행시킬 때 메모리 관리를 하지 않으면
프로그램끼리 메모리 침범 이슈와 같은 문제들이 생기게 된다.
이러한 문제 해결을 위해 운영체제에서 메모리를 관리해준다.
- 1차 저장장치(Main Memory)
- 프로세스에 할당하는 메모리 영역의 할당과 해제
- 각 메모리 영역 간의 침범 방지
- 메인 메모리의 효율적 활용을 위한 가상 메모리 기능
- 2차 저장장치(HDD, NAND Flash Memory 등)
- 파일 형식의 데이터 저장
- 이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
- FAT, NTFS, EXT2, JFS, XFS 등 많은 파일 시스템들이 개발되어 사용 중
네트워킹
네트워킹은 컴퓨터 활용의 핵심과도 같아졌다.
TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면
운영체제에서 네트워크 프로토콜을 지원해야 한다.
현재 상용 OS들은 다양하고 많은 네트워크 프로토콜을 지원한다.
이처럼 운영체제는 사용자와 컴퓨터 하드웨어 사이에 위치해서,
하드웨어를 운영 및 관리하고 명령어를 제어하여
응용 프로그램 및 하드웨어를 소프트웨어적으로 제어 및 관리를 해야 한다.
사용자 관리
PC를 한 사람만 사용하지 않는다.
하나의 PC로도 여러 사람이 사용하는 경우가 많은데
운영체제는 한 컴퓨터를 여러 사람이 사용하는 환경도 지원해야 한다.
예를 들어 가족들이 각자의 계정을 만들어 PC를 사용한다면
이는 하나의 컴퓨터를 여러 명이 사용한다고 말할 수 있다.
따라서 운영체제는 각 계정을 관리할 수 있는 기능이 필요하다.
사용자 별로 프라이버시와 보안을 위해 개인 파일에 대해선 다른 사용자가 접근할 수 없도록 하고
파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 것이 사용자 관리 기능이다.
디바이스 드라이버
운영체제는 시스템의 자원, 하드웨어를 관리한다.
시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고
관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.
따라서, 운영체제 안에 하드웨어를 추상화해주는 계층이 필요하다.
이 계층이 바로 디바이스 드라이버라고 불린다.
하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재한다.
이러한 수많은 디바이스 드라이버들을 관리하는 기능 또한 운영체제가 맡고 있다.
참고자료:
[운영체제(OS)] 운영체제란 무엇인가?
1. 운영체제란 무엇인가? 운영체제 공부를 시작하며 우선 운영체제가 무엇인지에 대한 글을 정리해보려 합니다. 운영체제는 윈도우, 맥, 안드로이드, IOS 등과 같이 실생활에서도 자주 들어볼
kjhoon0330.tistory.com
👨🏻💻 Tech Interview
최종 수정 : 9/20/2022, 10:14:18 AM
gyoogle.dev
'TIL' 카테고리의 다른 글
[2022.09.27] (알고리즘) 정수 제곱근 판별, 제일 작은 수 제거하기 (0) 2022.09.27 [2022.09.26] 기술면접 후기 (SVG, FLUX 패턴) (0) 2022.09.26 [2022.09.22] (알고리즘) 핸드폰 번호 가리기, 평균 구하기 (0) 2022.09.22 [2022.09.21](알고리즘) 이상한 문자 만들기, 자릿수 더하기 (0) 2022.09.21 [2022.09.20](알고리즘) 내적, 문자열 다루기 기본 (0) 2022.09.20