운영체제와 정보기술의 원리 - 1
튜링머신과 처치의 가정
튜링머신 : 컴퓨터에 대한 가장 단순하고 매력적인 이론 모델
[ 튜링머신의 정지문제 ]
컴퓨터로 풀리지 않는 문제영역이 존재함을 의미
튜링머신 뿐만 아니라 일반적인 컴퓨터에 어떠한 문제를 적용했을때
그 문제에 대한 풀이가 유한시간 내에 이루어질 수 있는가를 알아보는것과 같은
다양한 문제 영역으로 의미를 확대할 수 있다.
ENIAC은 최초의 현대적 컴퓨터로 볼 수 있다고 한다.
기계어로 프로그래밍하는 불편함을 개선하기 위해 어셈블리언어가 등장했다!!!
기계어 동작 순서보다 문제 자체에 더 가까운 언어가 필요해 나타난 '포트란'
기호정보는 리습(Lisp)언어, 사무정보는 코볼(Cobol)언어
C언어와 유닉스 운영체제는 친밀하다
메인프레임 컴퓨터는 시분할 방식을 사용함
시분할 방식이란?
컴퓨터 처리 능력을 짧은 시간단위로 구분하고 이를 여러 사용자들에게 조금씩 분할해 서비스하는 방식
운영체제 ( Operating system ) //system은 기반이나 틀이 되는 하드웨어를 지칭함
운영체제도 하나의 소프트웨어, 전원이 켜짐과 동시에 메모리에 필요한 부분만 올려서 사용한다.
이 때 올라간 필요한 부분을 커널(Kernel)이라고 함.
커널은 좁은 의미의 운영체제, 운영체제 코드 중 핵심적인 부분임
그러면 넓은 의미의 운영체제는? :
(예시) 파일 복사 기능 등 (유틸리티 친구들~!)
항상 메모리에 올라가 있지 않은 별도의 프로그램이다. 시스템을 위한 유틸리티로 운영체제에 함께 설치됨.
[ 운영체제의 주요기능 ]
1) 사용자가 다루기 힘든 하드웨어 관리
2) 사용자에게 편리한 인터페이스 제공
☆ 핵심기능 : 자원관리와 보안 및 보호
효율적으로 좋은 성능을 내도록 하며 자원의 분배에도 형평성있게!
자원의 종류 | |
하드웨어자원 | 소프트웨어자원 |
CPU스케줄링: CPU의 효율적인 사용, 특정 프로세스의 불이익 예방
1) 선입선출
2) 라운드로빈 (선입선출의 단점을 보완)
3) 우선순위기법
도스 - 한번에 1개만 수행
MS윈도우&유닉스 - 다중수행가능
유닉스는 이식성이 좋고 커널이 작고 소스코드가 공개되어 있다고 하네요.