input: Write a function to simulate the behavior of the FileSystem class for task data management. The function should:
  - Receive a dictionary of parameters containing a 'taskDir' key for specifying the directory where task data should be stored.
  - Provide methods to save task data, delete task data by ID, find task data by ID, find task data for multiple IDs, find all task data, and get task data for a specific ID without raising an error if the data is not found.
  - Ensure that if the input dictionary for saving task data does not include an 'id' key, one is generated and added to the dictionary.
  - Return task data as a dictionary or None if the task data is not found when calling the respective methods.
  
  assert simulate_file_system({'taskDir': '~/jsub/'}).save_task({'data': 'example'}) is not None
  assert simulate_file_system({'taskDir': '~/jsub/'}).delete_task(1) is None
  assert simulate_file_system({'taskDir': '~/jsub/'}).find_by_id(1) is None
  assert simulate_file_system({'taskDir': '~/jsub/'}).find_by_ids([1, 2]) == []
  assert simulate_file_system({'taskDir': '~/jsub/'}).all_task_data() == []
  assert simulate_file_system({'taskDir': '~/jsub/'}).task_data(1) is None
output: 
  def simulate_file_system(params):
      taskDir = params['taskDir']
      tasks = {}
  
      def save_task(task_data):
          if 'id' not in task_data:
              task_data['id'] = len(tasks) + 1
          tasks[task_data['id']] = task_data
          return task_data
  
      def delete_task(task_id):
          if task_id in tasks:
              del tasks[task_id]
          return None
  
      def find_by_id(task_id):
          return tasks.get(task_id, None)
  
      def find_by_ids(task_ids):
          return [tasks.get(tid, None) for tid in task_ids]
  
      def all_task_data():
          return list(tasks.values())
  
      def task_data(task_id):
          return tasks.get(task_id, None)
  
      return {
          'save_task': save_task,
          'delete_task': delete_task,
          'find_by_id': find_by_id,
          'find_by_ids': find_by_ids,
          'all_task_data': all_task_data,
          'task_data': task_data
      }
  