운영 체제(Operating System, OS) : 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.
목적
동시 작업 가능 여부 기준
단일 작업 (single tasking) : 한 번에 하나의 작업만 처리
다중 작업 (multi tasking) : 동시에 2개 이상의 작업을 처리. (컴퓨터를 포함한 현대의 대부분 제품들)
사용자의 수 기준
단일 사용자 : 한 컴퓨터에 한 유저 (MS Wingows)
다중 사용자 : 한 컴퓨터에 여러 유저 (UNIX)
처리 방식 기준
일괄 처리 방식 (batcj processing, 과거)
시분할 방식 (time sharing, 현대)
실시간 방식 (Realtime OS)
여러 표현으로 정의가 가능합니다.
아키텍쳐
CPU : CPU스케줄링을 통해 CPU 할당
monory : 메모리 관리를 통해 한정된 메모리를 쪼개어 사용
Disk : 파일 관리를 통해 디스크에 파일을 보관
I/O device : 입출력 관리를 통해 각기 다른 입출력 장치와 컴퓨터 간 정보 통신 관리
0세대
0세대 용어는 컴퓨팅 분야에서 Charles Babbage가 분석 엔진을 발명한 시기와 John Atanasoff이 1940년에 컴퓨터를 만든 시기를 나타낼 때 사용.
이 시기의 하드웨어 구성 요소 기술은 전자 진공관이었다.
컴퓨터에는 사용 가능한 운영 체제가 없으며, 컴퓨터 프로그램은 기계어로 작성.
이 때 컴퓨터는 비효율적이었으며, 개별 프로그래머의 능력에 따라 다르게 작동.
여전히 운영 체제 없이 전문가 운영자의 도움으로 시스템 운영이 이루어졌다.
→시간이 지남에 따라 더 높은 수준의 절차 지향 언어로 프로그램 작성이 시작되어 운영자의 루틴이 확장되기 시작.
이후 단일 프로그램 운영 체제가 개발되어 인간의 개입을 줄이고 프로그래머에게 여러 가지 유용한 기능을 제공.
이러한 시스템은 여전히 인간 운영자의 제어 하에 작동하며 프로그램을 실행하기 위해 일정한 단계를 따르기 위해 사용되었다.
컴퓨터 하드웨어의 두 번째 세대는 전자 진공관을 하드웨어 구성 요소 기술로 대체하는 것이 가장 큰 특징이다.
IBM 컴퓨터에서 개발된 최초의 운영 체제 GMOS는 단일 스트림 배치 처리 시스템을 기반으로 합니다.
세계에서 가장 큰 IT회사인 IBM이 1964년 4월에 System/360 시리즈 컴퓨터를 발표하여 세 번째 세대가 공식적으로 시작.
하드웨어 기술은 통합 회로(IC) 사용(속도와 경제성 면에서 성능 증가)
운영 체제 개발은 멀티 프로그래밍의 도입과 널리 사용되기 시작한 것으로 이어졌다. 컴퓨터의 데이터 채널 I/O 기능을 최대한 활용하는 아이디어는 계속해서 발전.
네 번째 세대는 개인용 컴퓨터와 워크스테이션의 등장이 특징이다.
세 번째 세대의 하드웨어 기술은 대규모 통합(VLSI)으로 대체되었습니다.
오늘날 사용하는 Windows, Linux, MacOS 등과 같은 많은 운영 체제가 네 번째 세대에서 개발되었습니다.
기본 메모리 또는 주 메모리의 관리.
주메모리
메모리 관리를 위한 운영 체제의 활동
멀티 프로그래밍 환경에서 운영 체제는 어떤 프로세스가 언제 CPU를 사용할지와 얼마나 오랫동안 사용할지 결정. 이 기능을 프로세스 스케줄링이라고 한다.
프로세스 스케줄링을 위한 운영 체제 활동.
운영 체제는 각각의 드라이버를 통해 장치 통신을 관리.
운영체제 활동
일반적으로 파일 시스템은 디렉터리로 구성되어 쉬운 탐색과 사용이 가능하게 조직화된다. 이러한 디렉터리에는 파일 및 기타 디렉터리가 포함될 수 있다.
운영체제 활동
암호 및 유사한 다른 기술을 사용하여 프로그램 및 데이터에 대한 무단 액세스를 방지합니다.
서비스 요청과 시스템 응답 사이의 지연을 기록합니다.
다양한 작업과 사용자가 사용하는 시간과 리소스를 추적합니다.
덤프, 트레이스, 오류 메시지 및 기타 디버깅 및 오류 감지 보조 도구의 생산.
컴퓨터 시스템의 다양한 사용자에게 컴파일러, 인터프리터, 어셈블러 및 기타 소프트웨어의 조정 및 할당.