[운영체제] 운영체제(OS)란?

HaYeong Jang·2021년 8월 3일
0

[CS] 운영체제

목록 보기
1/4

OS(Operating System)

사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어

사용자는 APP을 통해 컴퓨터에 원하는 작업 요청 -> APP은 OS에게 해당 요청 전달 -> OS는 해당 작업에 필요한 자원 할당 -> 하드웨어에서 해당 작업을 수행할 수 있게 도와줌

대표적인 운영체제

Windows, Linux, Mac OS, Android, iOS, ...


운영체제의 목적

  1. Throughput (처리 능력) : 시스템의 생산성을 나태내는 단위. 일정 시간 동안 처리하는 양
  2. Turn Around Time (응답시간) : 작업 의뢰 후 시스템에서 결과가 얻어질 때까지의 시간
  3. Reliability (신뢰도) : 주어진 문제를 얼마나 정확하게 처리하는가의 정도
  4. Availability (사용 가능도) : 시스템을 얼마나 빠르게 사용할 수 있는가의 정도

운영체제의 역할

1. 프로세스 관리

CPU를 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리한다.

Keyword : 프로세스, 스레드, 스케줄링, 동기화, IPC 통신

2. 저장 장치 관리

1차 저장 장치에 해당하는 메인 메모리와 2차 저장 장치에 해당하는 하드디스크, NAND 등을 관리하는 기능이다.

1차 저장 장치 (Main Memory)

  • 프로세스에 할당하는 메모리 영역의 할당과 해제
  • 각 메모리 영역 간의 침범 방지
  • 메인 메모리의 효율적 활용을 위한 가상 메모리 기능

2차 저장 장치 (HDD, NAND Flash Memory 등)

  • 파일 형식의 데이터 저장
  • 이런 파일 데이터 관리를 위한 파일 시스템을 OS에서 관리
  • FAT, NTFS, EXT2, JFS, XFS 등 많은 파일 시스템들이 개발되어 사용 중

Keyword : 메모리 관리, 가상 메모리, 파일 시스템

3. 네트워킹

TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원해야 한다. 현재 상용 OS들은 다양하고 많은 네트워크 프로토콜을 지원한다.

Keyword : TCP/IP, 기타 프로토콜

4. 사용자 관리

하나의 PC로도 여러 사람이 사용하는 경우가 많기 때문에 운영체제는 한 컴퓨터를 여러 사람이 사용하는 환경도 지원해야 한다.
사용자 별로 프라이버시와 보안을 위해 개인 파일에 대해선 다른 사용자가 접근할 수 없도록 해야 한다. 운영체제는 파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 역할을 한다.

Keyword : 계정 관리, 접근 권한 관리

5. 자원 관리

운영체제는 시스템의 자원, 하드웨어를 관리한다. 시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.

따라서, 운영체제 안에 하드웨어를 추상화해주는 계층이 필요한데, 이 계층을 디바이스 드라이버라고 한다. 하드웨어의 종류가 많은 만큼 수많은 디바이스 드라이버들을 관리하는 기능을 한다.

Keyword : 순차 접근 장치, 임의접근 장치, 네트워크 장치


참고 링크

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pst8627&logNo=221663921157

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Operating%20System/Operation%20System.md

profile
기억하기 위해 기록하는 개발로그👣

0개의 댓글