일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 리트코드
- Redux
- TypeScript
- BFS
- LeetCode
- 프로그래머스
- Algorithm
- 안드로이드
- vscode
- network
- Python
- 자바
- frontend
- react
- 알고리즘
- Database
- VIM
- 그레이들
- CS
- 동적 계획법
- Data Structure
- git
- DP
- db
- 다이나믹 프로그래밍
- java
- 백준
- Javascript
- Graph
- DFS
- Today
- Total
늘 겸손하게
CS - Operating System - 운영체제 본문
[ 정의 ]
Operating System의 약자로 하드웨어를 관리하고, 컴퓨터 자원을 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
즉, 운영 체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 하는 시스템 소프트웨어라고 할 수 있다.
ex) Windows, Linux, Unix, MS-DOS
[ 운영체제 역할 ]
1. 프로세스 관리
- 프로세스, 스레드
- 스케줄링
- 동기화
- IPC 통신
2. 저장장치 관리
- 메모리 관리
- 가상 메모리
- 파일 시스템
3. 네트워킹
- TCP/IP
- 기타 프로토콜
4. 사용자 관리
- 계정 관리
- 접근권한 관리
5. 디바이스 드라이버
- 순차접근 장치
- 임의접근 장치
- 네트워크 장치
[ 1. 프로세스 관리 ]
운영체제에서 작동하는 응용 프로그램을 관리하는 기능
어떤 의미에서는 프로세서(CPU) 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다.
[ 2. 저장장치 관리 ]
1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능
1차 저장장치 (Main Memory)
- 프로세스에 할당하는 메모리 영역의 할당과 해제
- 각 메모리 영역 간의 침범 방지
- 메인 메모리의 효율적 활용을 위한 가상 메모리 기능
2차 저장장치 (HDD, NAND Flash Memory 등)
- 파일 형식의 데이터 저장
- 이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
- FAT, NTFS, EXT2, JFS, XFS 등 많은 파일 시스템들이 개발되어 사용 중
[ 3. 네트워킹 ]
네트워킹은 컴퓨터 활용의 핵심과도 같아졌다.
TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 한다. 현재 상용 OS들은 다양하고 많은 네트워크 프로토콜을 지원한다.
이처럼 운영체제는 사용자와 컴퓨터 하드웨어 사이에 위치해서, 하드웨어를 운영 및 관리하고 명령어를 제어하여 응용 프로그램 및 하드웨어를 소프트웨어적으로 제어 및 관리를 해야한다.
[ 4. 사용자 관리 ]
하나의 PC로도 여러 사람이 사용하는 경우가 많다. 그래서 운영체제는 한 컴퓨터를 여러 사람이 사용하는 환경도 지원해야 한다.
따라서 운영체제는 각 계정을 관리할 수 있는 기능이 필요하다. 사용자 별로 프라이버시와 보완을 위해 개인 파일는 다른 사용자가 접근할 수 없도록 해야 한다. 이 밖에도 파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 것이 사용자 관리 기능.
[ 5. 디바이스 드라이버 ]
운영체제는 시스템의 자원, 하드웨어를 관리하는데 하드웨어를 운영체제가 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.
따라서 운영체제 안에 하드웨어를 추상화 해주는 계층이 필요하다. 이 계층이 바로 디바이스 드라이버라고 불린다.
하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 다양하다.
[ 출처 ]
'Computer Science > Operating System' 카테고리의 다른 글
CS - Operating System - PCB & Context Switching (0) | 2022.11.23 |
---|---|
CS - Operating System - 시스템 콜 (System Call) (0) | 2022.11.23 |
CS - Operating System - 인터럽트 (Interrupt) (0) | 2022.11.23 |
CS - Operating System - 프로세스의 주소 공간 (0) | 2022.11.23 |
CS - Operating System - 프로세스와 스레드 (0) | 2022.07.21 |